我在R中有以下三行:
dt <- data.table(r)
dt <- dt[,list(d=sum(distance)), by=list(pid, person1, person2)]
dt <- dt[order(pid, d)]
如何将后两者合并为一个语句?另外,我可以传递一些类似SQL的LIMIT
因子,因此每个pid,person1,person2组合只有十行吗?
答案 0 :(得分:3)
要在一个陈述中执行此操作,这应该有效:
dt <- dt[,list(d=sum(distance)), by=list(pid, person1, person2)][order(pid, d)]
对于限制,请尝试使用head
。不过,我不确定你会得到什么。上述语句的输出应该每个pid有一行,person1,person2组合。
另外,请提供您正在使用的数据的可重复的小例子。