我有一个由 N 列组成的 data.frame 。这些列的长度不同(即complete.cases),例如Column1:314行,Column2:543行,Column3:124行,...我想检索整个data.frame中每列的长度。有人可以帮我吗?
您似乎想计算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
Run Code Online (Sandbox Code Playgroud)
这是一个可能的解决方案
sapply(df, function(x) sum(complete.cases(x)))
# V1 V2 V3 V4 V5
# 5 4 4 4 5
Run Code Online (Sandbox Code Playgroud)
或者你可以使用colSums和向量化它!is.na
colSums(!is.na(df))
# V1 V2 V3 V4 V5
# 5 4 4 4 5
Run Code Online (Sandbox Code Playgroud)