我需要一份数据。我的 A 数据看起来像这样:
author_id paper_id prob
731 24943 1
731 24943 1
731 688974 1
731 964345 .8
731 1201905 .9
731 1267992 1
736 249 .2
736 6889 1
736 94345 .7
736 1201905 .9
736 126992 .8
我期望得到的输出是:
author_id paper_id
731 24943,24943,688974,1201905,964345
736 6889,1201945,126992,94345,249
这意味着paper_id按概率递减的顺序进行排列。
如果我使用sql和R的组合,我认为解决方案会是:
statement<-"select * from A
GROUP BY author_id
ORDER BY prob"
当paper_id排序后,在R中使用paste函数。
但我需要完整的R解决方案,应该如何实现?
谢谢。
with(dat[order(dat$prob , decreasing=TRUE),], aggregate(paper_id , list(author_id=author_id) , paste , sep=","))
- user20650