是否可以更改 ddply 的输出?我想知道是否有可能在一行上显示一个子集的唯一结果,而不是给每个结果一个新行。例如。

ID   Season  Year
5074 Summer 2008
5074 Summer 2009
5074 Winter 2008
5074 Winter 2009
5074 Winter 2010

进入...
ID   Season  Year
5074 Summer  2008,2009
5074 Winter  2008,2009,2010

我经常使用 ddply 来手动诊断 for 循环等的结果,并且像这样呈现结果会减少输出的长度并使检查速度更快。

干杯!

最佳答案

首先加载数据

dd = read.table(textConnection("ID   Season  Year
5074 Summer 2008
5074 Summer 2009
5074 Winter 2008
5074 Winter 2009
5074 Winter 2010"), header=TRUE)

然后像往常一样使用 ddply,由 IDSeason 拆分
ddply(dd, .(ID, Season), summarise, Year=paste(Year, collapse=","))

我们使用 collapse 中的 paste 参数返回单个字符。由于您想将其用作检查,因此可能值得在 sort 上使用 Year ,即
paste(sort(Year), collapse=",")

关于r - 改变 ddply 的输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12495181/

10-12 18:31