我在 R 中使用 for 循环时遇到问题。以下代码
a <- seq(-2, 5)
for(i in 1:length(a)){
a[i] <- if(a[i] <= 0) "aa" else a[i]
}
应该导致以下向量
> a
[1] "aa" "aa" "aa" "1" "2" "3" "4" "5"
相反,我们得到以下结果:
> a
[1] "aa" "-1" "aa" "1" "2" "3" "4" "5"
为什么R不能用“aa”替换“-1”?
我们尝试了另一种效果很好的解决方案:
a <- seq(-2, 5)
b <- NULL
for(i in 1:length(a)){
b[i] <- if(a[i] <= 0) "aa" else a[i]
}
它产生预期的结果:
> b
[1] "aa" "aa" "aa" "1" "2" "3" "4" "5"
为什么后一个示例可以正常工作而第一个示例不行?
非常感谢您的帮助!
此致!!