【发布时间】:2018-10-17 21:45:13
【问题描述】:
我希望对在任何“Y”列中具有相同字符的每个“M”列中的值求和,所以如果我的数据框如下所示:
X M.1 M.2 M.3 Y.1 Y.2 Y.3
K3 21 6 11 L N X
K8 31 1 29 N
K2 8 0 2 L Q Z
我想得到这个输出数据框:
Y M.1 M.2 M.3
L 29 6 13
N 52 7 40
Q 8 0 2
X 21 6 11
如果它可以将 X 列中包含“Y”列中的特定字符的所有值包含在一列中,则奖励如下:
Y M.1 M.2 M.3 X.all
L 29 6 13 K3,K2
N 52 7 40 K3,K8
Q 8 0 2 K2
X 29 6 13 K3
到目前为止,使用下面的 aggregate() 函数,我可以分别获得“Y”列中每个值的总和,但更喜欢一种更好的方法来制作一个包含所有总和的全新数据框
aggregate(cbind(df$M.1) ~ df$Y.1, data = df, sum)
非常感谢您的帮助!
【问题讨论】:
-
现在 Y.2 和 Y.3 下有空白,很可能读入为 NA。这些人的计划是什么?
-
在我正在使用的数据框中,Y.2 和 Y.3 列中有几个空白 - 没有专门针对它们的计划;您是否建议将空值转换为“NA”?
-
完全取决于你需要对它们做什么以及你是否希望它们没有价值,这基本上就是
NA的意思
标签: r dataframe sum aggregate multiple-columns