当它没有加起来时计算向量中的元素

时间:2014-09-20 01:42:54

标签: r vector

我有一个名为yphl的向量。向量全部为0和1,

当我这样做时:

length(yphl)

输出为45972

然后我想找到0和1的分数。在查看了stackoverflow和r文档之后,我很清楚表函数应该可以工作..但它没有。我做了:

table(yphl)

输出为:6446处为0,1355处为1.这显然不会加起来。

还有什么可以尝试的吗?矢量太长了无法计算?非常困惑

任何帮助将不胜感激,谢谢

1 个答案:

答案 0 :(得分:2)

正如joran在评论中指出的那样,向量中可能有NA个值。以下是useNA的{​​{1}}参数如何工作的几个示例。

table

首先,您可以查看该向量是否包含

的任何> set.seed(1) > x <- sample(c(0,1,NA), 10, TRUE) > x # [1] 0 1 1 NA 0 NA NA 1 1 0
NA

来自> anyNA(x) # [1] TRUE

  

useNA控制表是否包含NA值的计数:允许值对应于never,仅当计数为正且偶数为零时。

允许的值为?table

只有在计数为正数时才会:

useNA = c("no", "ifany", "always")

即使是零计数:

> table(x, useNA = "ifany")
# x
#    0    1 <NA> 
#    3    4    3 
> identical(sum(table(x, useNA = "ifany")), length(x))
# [1] TRUE

从不:

> y <- x[!is.na(x)] ## remove NA values from x
> table(y, useNA = "always")
#
#   0    1 <NA> 
#   3    4    0 
> identical(sum(table(y, useNA = "always")), length(y))
# [1] TRUE