【问题标题】:getting total sum when trying to sum a variable using multiple groups尝试使用多个组对变量求和时获得总和
【发布时间】:2018-05-06 22:47:21
【问题描述】:

我正在尝试使用多个组对变量求和,但一直得到总和,尝试了 dplyr、data.table 和聚合,但我一直得到总和,而不是组总和。

最后的努力是as.data.table

Totals06 <- as.data.table(testQ)[, sum(testQ$v23, na.rm=TRUE), by = .(testQ$v01, testQ$v05, testQ$v09)]

我正在做一些非常愚蠢的事情,任何帮助将不胜感激。

【问题讨论】:

标签: r


【解决方案1】:

由于缺乏可重复的示例,这里是一个玩具示例:

df = data.frame(a=c("A","A","A","B","B","C","C","C"),species=c("cat","cat","dog","cat","dog","dog","horse","dog"),exp=c(1,2,3,4,5,3,2,1))

>df
#  a species exp
#1 A     cat   1
#2 A     cat   2
#3 A     dog   3
#4 B     cat   4
#5 B     dog   5
#6 C     dog   3
#7 C   horse   2
#8 C     dog   1

使用dplyr 并按两个变量分组:

df%>%group_by(a,species)%>%summarise_at(.funs = sum,.vars = c("exp"))

# A tibble: 6 x 3
# Groups:   a [?]
#       a species   exp
#    <fctr>  <fctr> <dbl>
#1      A     cat     3
#2      A     dog     3
#3      B     cat     4
#4      B     dog     5
#5      C     dog     4
#6      C   horse     2

【讨论】:

  • 非常感谢,我没有使用 summarise_at 只是 summarise,这似乎成功了!
  • @MichaelLatner 甚至 summarise 也为我工作。 dplyr 0.7.4 版。
猜你喜欢
  • 2015-07-19
  • 2016-01-29
  • 1970-01-01
  • 2018-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多