【问题标题】:R: getting list of matching data frame values [duplicate]R:获取匹配数据框值的列表[重复]
【发布时间】:2015-05-21 23:28:07
【问题描述】:

两个数据集:

people <- read.table(text="
pid
1
2
3
4
", header=TRUE)

comps <- read.table(text="
pid comp rank
1   1    0
1   3    1
1   2    2
2   4    0
2   1    1
2   3    2
3   1    0
3   2    1
3   4    2
", header=TRUE)

尝试获取每个唯一 pid 的数据框及其比较列表,例如:

pid comps
1   1,3,2
2   4,1,3
3   1,2,4

无法到达那里..

【问题讨论】:

  • data[,.(value=paste(value,collapse="")),by=group]

标签: r rdata


【解决方案1】:

您可以使用aggregate

aggregate(comp~pid, comps, paste, collapse=",")
#   pid  comp
# 1   1 1,3,2
# 2   2 4,1,3
# 3   3 1,2,4

【讨论】:

  • 优秀。有没有办法添加第三列?
  • @Wells 当然,只返回一个向量,例如aggregate(comp~pid, comps, function(x) c(paste(x, collapse=","), "A"))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-04
  • 2017-01-06
  • 1970-01-01
  • 2019-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多