我想计算具有非缺失值的观察值的数量(在下面的示例中为“人”)。
unbal <- data.frame(PERSON=c(rep('Frank',5),rep('Tony',5),rep('Edward',5)), YEAR=c(2001,2002,2003,2004,2005,2001,2002,2003,2004,2005,2001,2002,2003,2004,2005), Y=c(21,22,23,24,25,5,6,NA,7,8,31,32,33,34,35), X=c(1:15))
unbal
PERSON YEAR Y X
1 Frank 2001 21 1
2 Frank 2002 22 2
3 Frank 2003 23 3
4 Frank 2004 24 4
5 Frank 2005 25 5
6 Tony 2001 5 6
7 Tony 2002 6 7
8 Tony 2003 NA 8
9 Tony 2004 7 9
10 Tony 2005 8 10
11 Edward 2001 31 11
12 Edward 2002 32 12
13 Edward 2003 33 13
14 Edward 2004 34 14
15 Edward 2005 35 15
在这种情况下将为2,因为只有两个人(弗兰克和爱德华)拥有所有数据。
最佳答案
您可以尝试:
length(unique(unbal$PERSON[!unbal$PERSON%in%unbal[!complete.cases(unbal),1]]))
# [1] 2