【发布时间】:2016-11-18 05:07:46
【问题描述】:
我有一个包含 118 个变量的数据框,其中包含 0's、1's、99's 和 NA's。我需要计算每个变量有多少99's、NA's、1's 和0's(99 是“不适用”,0 是“否”,1 是“是”,NA 是“没有答案”)。我尝试使用table 函数来做到这一点,但它适用于向量,我怎样才能为所有变量集做到这一点?
数据框有一个可重现的小例子:
forest<-c(1,1,1,1,0,0,0,1,1,1,0,NA,0,NA,0,99,99,1,0,NA)
water<-c(1,NA,NA,NA,NA,99,99,0,0,0,1,1,1,0,0,NA,NA,99,1,0)
rain<-c(1,NA,1,0,1,99,99,0,1,0,1,0,1,0,0,NA,99,99,1,1)
fire<-c(1,0,0,0,1,99,99,NA,NA,NA,1,0,1,0,0,NA,99,99,1,1)
df<-data.frame(forest,water,rain,fire)
我需要在数据框中写入变量的结果,如下所示:
forest water rain fire
1 8 5 8 6
0 7 6 6 6
99 2 3 4 4
NA 3 6 2 4
【问题讨论】:
-
lapply(df, table)。或sapply(df, table)用于s简化输出而不是列表。