我是编程新手,目前正为R而苦苦挣扎。在比较向量'badmonths'
中的12个元素之后,我必须将6个元素放入新向量'profitaftertax'
中。我的问题是我得到7个元素,其中第一个是空的。您能解释一下为什么吗?
mean <- mean(profitaftertax)
badmonths <- c('')
for(i in profitaftertax) {
if (i < mean) {
# print(i)
badmonths <- rbind(badmonths, i)
}
}
print(as.numeric(badmonths))
结果是:
[1] NA 1337.973 -2595.453 -2040.017 -419.944 -1567.055 461.720
答案 0 :(得分:1)
另一个答案显示了为什么得到NA。但是您真的不应该为此使用循环
badmonths <- profitaftertax[profitaftertax < mean(profitaftertax)]
答案 1 :(得分:0)
这是因为您首先将第一个元素初始化为空字符串,然后将数字添加到字符串中。请尝试以下方法。这会将badmonths
初始化为空向量。
mean <- mean(profitaftertax)
badmonths <- numeric()
for (i in profitaftertax) {
if (i < mean)
{#print(i)
badmonths <- rbind(badmonths,i)}
}
print(badmonths)
您可以尝试以下操作,以进一步了解这一点:
as.numeric('')