我有一個大的數據幀,看起來水木清華這樣的:如何合併除一個列以外所有列中具有相同信息的行?
A 1 2 3 4 ...
B 1 2 3 4 ...
C 1 2 3 4 ...
D 5 2 1 4 ...
E 3 2 3 9 ...
F 0 0 2 2 ...
G 0 0 2 2 ...
正如你可以看到一些行是重複的條目,如果你無視第二個第一列。我想結合/合併這些行產生這樣的:
A;B;C 1 2 3 4 ...
D 5 2 1 4 ...
E 3 2 3 9 ...
F;G 0 0 2 2 ...
我可以寫一個for循環,它迭代的行,但是這將是既不漂亮,也沒有效率。我很肯定有一個更好的方法來做到這一點。
我以爲我可以:
- 片的DF所以我除了第一
slice <- df[, 2:ncols(df)]
- 所有列由
dups <- df[duplicated(slice)]
- 得到所有「重複」行的數據幀得到另一個數據框的「獨特的」由
uniq <- df[unique(slice)]
- 行合併使用他們所有,但第一列
merge(uniq, dups, by...)
除了這將不起作用,因爲唯一不會返回索引,而是一個完整的數據幀,這意味着我不能索引df
與從slice
對應的行。
有什麼建議嗎?
編輯:我要澄清的是A,B,C ......不是字符串/字符表示給rownames但據幀的實際部分,參賽
看看'聚合'和相關的聚合函數。 – A5C1D2H2I1M1N2O1R2T1 2015-03-03 11:06:07