【发布时间】:2017-02-22 04:27:14
【问题描述】:
编辑
我有一个如下的数据框:请注意COL1 有重复的条目,COL2 和 COL3 可以按任何顺序排列,即它们可以出现在数据框中其他列之间的任何位置......并且对确切数量没有限制数据框中的列......以后可能还会附加其他列......
COL1 COL2 COL3 COL5 COL6 COL7 ... ... (goes on)
10 hai 2 15 10 6 ... ...
10 hai 3 25 20 12 ... ...
10 pal 1 35 30 18 ... ...
11 rfm 9 22 32 9 ... ...
9 rtf 8 34 54 10 ... ...
我还有一个向量如下:
number <- c("first", "last")
我希望输出如下所示:即
COL1应该有唯一的条目(10,11,9)COL2应该包含它下面的合并条目,没有重复项(hai pal),不应该考虑合并具有不同 COL1 值的唯一行。仅应合并 COL1 值的重复行...并且 COL2 可以出现在数据框中的任何位置(它并不总是第 2 列)COL3应包含条目的总和 (2+3+1=6)。 应该只计算重复行的总和。重复行是根据 COL1 值识别的……COL3 也可以出现在数据框中的任何位置(它并不总是第 3 列)。
对于COL5、COL6、COL7(我以后可能会附加许多列...对于这种情况,我只有 3 列没有必要)我需要一段通用代码,这样如果输入从名为“number”的向量中作为“first”给出,需要从所有剩余列的重复行中获取第一个观察值,即第一行值。如果输入是来自名为“number”的向量的“last”,则需要从所有剩余列的重复行中获取最后一个观察值,即最后一行值。
注意:输出应该存储在另一个数据帧中
OUTPUT(如果输入为“第一个”):
COL1 COL2 COL3 COL5 COL6 COL7
10 hai pal 6 15 10 6
11 rfm 9 22 32 9
9 rtf 8 34 54 10
在上面的输出中:COL5、COL6、COL7 包含重复条目的第一行值
输出(如果输入为“最后一个”):
COL1 COL2 COL3 COL5 COL6 COL7
10 hai pal 6 15 10 6
11 rfm 9 22 32 9
9 rtf 8 34 54 10
在上面的输出中:COL5、COL6、COL7 包含重复条目的最后一行值
【问题讨论】: