我有一个像这样的向量:
x <- c(0.9,0.9,0,0,0.9,0,0.8)
我想消除所有零并从中创建一个新向量,所以我创建了以下if语句:
if (x[i] == 0) {
y <- x[-(i)]}
但是出现以下错误:
Error in if (x[i] == 0) { : argument is of length zero
有人解决吗? 预先感谢!
答案 0 :(得分:1)
我们不需要for
的{{1}}循环。只需通过向量化即可完成
if/else
使用表达式y <- x[x != 0]
创建逻辑向量,并使用它对原始向量进行子集化(x != 0
(带方括号)),然后将输出向量分配给具有标识符“ y”的变量