【问题标题】:R data.tables: ordering and summing with group in one go?R data.tables:一次性对组进行排序和求和?
【发布时间】:2014-08-01 20:13:50
【问题描述】:

我在 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 组合只有十行吗?

【问题讨论】:

    标签: r data.table


    【解决方案1】:

    要在一个语句中做到这一点,这应该有效:

    dt <- dt[,list(d=sum(distance)), by=list(pid, person1, person2)][order(pid, d)]
    

    为了限制,请尝试使用head。不过,我不确定你在说什么。上述语句的输出应为每个 pid、person1、person2 组合一行。

    另外,请提供您正在使用的数据的一个可重复的小示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-10
      • 2016-07-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-07
      • 1970-01-01
      • 1970-01-01
      • 2019-11-10
      相关资源
      最近更新 更多