我有一个包含观察调查数据的大型数据集,我希望将这些数据汇总到国家/地区年级(也用于因子),以便将数据用作另一个数据集中的国家/地区级数据。我要汇总的一个df
具有以下类:
character labelled numeric
24 272 50
我相当确定标记的类是Hmisc
库的结果。
我开始时如下,效果很好。
dfsum <- df %>%
group_by(countryyear) %>%
summarise_all(funs(if(is.numeric(.)) mean(., na.rm = TRUE) else first (.)))
令人惊讶的是,这留下了244/346个变量(我不知道为什么会有这个数字,任何解释都很好)。
我想在dfsum
中包括尽可能多的列。我意识到,对于无序因素,它不会提供任何有用的信息,但会为有序因素提供信息。对于二进制变量,例如0到1之间的值将给我每个类别的大小,而序数变量通常是小数位数。我尝试这样做:
dfsum <- df%>%
group_by(countryyear) %>%
summarise_all(funs(if(is.numeric(.)|is.factor(.)) mean(., na.rm = TRUE) else first (.)))
但这并没有真正做任何事情(不添加任何额外的变量)。
更重要的是,我希望在汇总过程中保留因子信息。是否有可能以其他方式重新附加该信息?例如,它是一个二进制值(可能是原始变量的50%以上是0还是1),还是加上了小数位数(取原始变量的最小值和最大值)?
答案 0 :(得分:0)