获取data.frame的列长度

时间:2015-02-12 11:27:43

标签: r

我有一个由N列组成的data.frame。这些列具有不同的长度(即完整的情况),例如Column1:314行,Column2:543行,Column3:124行,...... 我想为整个data.frame检索每列的长度。 有人可以帮我吗?

1 个答案:

答案 0 :(得分:3)

您似乎想要计算数据集中每列complete.cases的数量。这是一个示例数据集

set.seed(123)
(df <- as.data.frame(matrix(sample(c(NA, 1:5), 25, replace = TRUE), ncol = 5)))
#   V1 V2 V3 V4 V5
# 1  1 NA  5  5  5
# 2  4  3  2  1  4
# 3  2  5  4 NA  3
# 4  5  3  3  1  5
# 5  5  2 NA  5  3

这是一个可能的解决方案

sapply(df, function(x) sum(complete.cases(x)))
# V1 V2 V3 V4 V5 
#  5  4  4  4  5 

或者您可以使用colSums!is.na

对其进行矢量化
colSums(!is.na(df))
# V1 V2 V3 V4 V5 
#  5  4  4  4  5