[英]Simple method of counting non-NAs in column of data String
我試圖找到一種簡單的方法來計算數據框列中的非缺失案例。 我用過這個功能:
foo<- function(x) { sum(!is.na(x)) }
然后通過sapply()將其應用於數據框
stats$count <- sapply(OldExaminee, foo2, simplify=T)
雖然這很好用,但我只是不相信沒有更簡單的計數方法,即基本功能集中的某些東西。
有任何想法嗎?
對於data.frame
您可以使用colSums
和is.na
獲取它:
set.seed(45)
df <- data.frame(matrix(sample(c(NA,1:5), 50, replace=TRUE), ncol=5))
# X1 X2 X3 X4 X5
# 1 3 2 NA 2 NA
# 2 1 5 1 1 4
# 3 1 1 3 2 3
# 4 2 2 3 5 3
# 5 2 2 5 2 2
# 6 1 2 NA 3 3
# 7 1 5 5 5 2
# 8 3 NA 4 1 5
# 9 1 2 3 NA 1
# 10 NA 1 1 2 2
colSums(!is.na(df))
# X1 X2 X3 X4 X5
# 9 9 8 9 9
你可以使用na.omit
length(na.omit(x));
隨着caelorus指示申請
你可以使用which
和length
:
length(which(!is.na(x$col)))
which
返回匹配元素的索引(在本例中為非NA
s), length
有多少索引。
對於所有列:
apply(OldExaminee, 2, function(x){ length(which(!is.na(x))) })
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.