我有这个矩阵
> a
id size pattern
[1,] "1" "24" "100"
[2,] "2" "10" "111"
[3,] "3" "2" "111"
我希望通过模式独特,添加大小并连接id:
> a
id size pattern
[1,] "1" "24" "100"
[2,] "2-3" "12" "111" (this pattern was duplicated, so add size and concatenate id)
我能做到:
> a = unique(a[,"pattern"])
但我无法弄清楚如何添加和连接。
提前致谢!
答案 0 :(得分:1)
如果您想要将某些列视为数字(将值一起添加),而将某些列视为字符(粘贴它们),则矩阵不是数据的正确结构。您应该使用数据框。
使用plyr:
library(plyr)
ddply(data.frame(a), .(pattern), summarise,
id=paste(id, collapse="-"),
size=sum(as.numeric(size)))