我试图将值-1分配给我的向量中介于2和5之间的每个数字.我认为if - then语句会起作用.我遇到了一些麻烦.我不认为(2
x <- c(3.2,6,7.8,1,3,2.5)
if (2<x<5){
cat(-1)
} else {
cat (x)
}
Run Code Online (Sandbox Code Playgroud)
mne*_*nel 19
您的代码中存在许多语法错误.
尝试使用 findInterval
x[findInterval(x, c(2,5)) == 1L] <- -1
x
## [1] -1.0 6.0 7.8 1.0 -1.0 -1.0
Run Code Online (Sandbox Code Playgroud)
阅读?findInterval有关使用的更多详细信息findInterval
你也可以用 replace
replace(x, x > 2 & x < 5, -1)
Run Code Online (Sandbox Code Playgroud)
注意
2<x<5你需要写x > 2 & x < 5cat将输出到控制台或文件/连接.它不会分配任何东西.Aar*_*ica 11
您可能只想用-1替换这些元素.
> x[x > 2 & x < 5] <- -1; x
[1] -1.0 6.0 7.8 1.0 -1.0 -1.0
Run Code Online (Sandbox Code Playgroud)
你也可以用ifelse.
> ifelse(x > 2 & x < 5, -1, x)
[1] -1.0 6.0 7.8 1.0 -1.0 -1.0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60681 次 |
| 最近记录: |