我有一个名为yphl的向量。向量全部为0和1,
。当我这样做时:
length(yphl)
输出为45972
然后我想找到0和1的分数。在查看了stackoverflow和r文档之后,我很清楚表函数应该可以工作..但它没有。我做了:
table(yphl)
输出为:6446处为0,1355处为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