【发布时间】:2014-01-25 00:46:15
【问题描述】:
我想根据条件更改矢量元素。
例如:我有一个向量v<-c(-3,5,-1,7,8,1,10,11),我想生成向量(-1,1,0,1,1,0,1,1)
条件是
if the element is <-1 then set -1
if the element is >1 then set 1
otherwise 0
我可以通过使用一系列ifelse 语句来实现这一点:
v<-c(-3,5,-1,7,8,1,10,11)
res<-rep(0,8)
res<-ifelse(v<1,-1,res)
res<-ifelse(v>1,1,res)
我认为应该有一个更优雅和紧凑的方式来做到这一点。 有什么建议吗?
谢谢
【问题讨论】:
-
x[x > 1] <- 1; x[x < -1] <- -1。这是相当 RTFM 的东西,我建议你从这里开始:cran.r-project.org/doc/manuals/r-release/R-intro.html
标签: r if-statement vector range conditional-statements