为什么在向量中得到第一个空元素?

时间:2019-02-09 14:08:28

标签: r vector

我是编程新手,目前正为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 

2 个答案:

答案 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('')