r - 在 R 中按组汇总数据帧的所有数字列

标签 r dataframe plyr mean summary

我有一个数据框,其中包含由 3 个字符变量定义的唯一组

catvars <- c("DATE", "COUNTRY_FULL_NAME", "TENOR")

数据框的其余部分由 20 个数值变量组成(在下面的示例中将其压缩为 3 个)

numvars <- c("X1", "Y1, "Z1")

我正在尝试创建一个新的数据框,其中每个数值变量的平均值按组计算

对于单个变量,我可以使用 plyr 包中的 ddply:

DFsum <- ddply(DF, catvars, summarize, X1mean = mean(X, na.rm=TRUE))

但我不知道如何修改此 ddply 命令以包含所有数字变量。有什么建议么?谢谢

最佳答案

我认为您正在寻找numcolwise

ddply(diamonds,.(cut),numcolwise(mean,na.rm = TRUE))
        cut     carat    depth    table    price        x        y        z
1      Fair 1.0461366 64.04168 59.05379 4358.758 6.246894 6.182652 3.982770
2      Good 0.8491847 62.36588 58.69464 3928.864 5.838785 5.850744 3.639507
3 Very Good 0.8063814 61.81828 57.95615 3981.760 5.740696 5.770026 3.559801
4   Premium 0.8919549 61.26467 58.74610 4584.258 5.973887 5.944879 3.647124
5     Ideal 0.7028370 61.70940 55.95167 3457.542 5.507451 5.520080 3.401448

关于r - 在 R 中按组汇总数据帧的所有数字列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24090339/

相关文章:

c - 安装 r 包时出错 (Linux Mint 17.1) "error: C preprocessor "g++ -E“完整性检查失败”

R:使用管道 %>% 和占位符进一步子集选择

R:不要为 VennDiagram 写日志文件

python - Pandas .min() 方法似乎不是最快的

r - plyr 汇总计数错误行长度

dplyr的round_any等价物吗?

从left_join删除相同的列

r - 根据配对数据/每两行计算和过滤数据?

python - nlargest on groupby 具有多索引和多个聚合列

r - 在 R 中按组向数据帧添加索引(或计数器)