为什么用两个变量进行汇总时,group_by和group_by_给出不同的答案?

杰克·费舍尔

在下面的示例中,我想通过两个变量创建一个摘要统计信息。当我使用时dplyr::group_by,我会得到正确的答案;当我使用时dplyr::group_by_,它比我想要的多了一个层次。

library(dplyr)
set.seed(919)
df <- data.frame(
  a = c(1, 1, 1, 2, 2, 2),
  b = c(3, 3, 4, 4, 5, 5),
  x = runif(6)
)

# Gives correct answer
df %>%
  group_by(a, b) %>%
  summarize(total = sum(x))

# Source: local data frame [4 x 3]
# Groups: a [?]
# 
#       a     b     total
#   <dbl> <dbl>     <dbl>
# 1     1     3 1.5214746
# 2     1     4 0.7150204
# 3     2     4 0.1234555
# 4     2     5 0.8208454

# Wrong answer -- too many levels summarized
df %>%
  group_by_(c("a", "b")) %>%
  summarize(total = sum(x))
# # A tibble: 2 × 2
#       a     total
#   <dbl>     <dbl>
# 1     1 2.2364950
# 2     2 0.9443009

这是怎么回事?

智慧

如果要使用变量名向量,则可以将其传递给.dots参数,如下所示:

df %>%
      group_by_(.dots = c("a", "b")) %>%
      summarize(total = sum(x))

#Source: local data frame [4 x 3]
#Groups: a [?]

#      a     b     total
#  <dbl> <dbl>     <dbl>
#1     1     3 1.5214746
#2     1     4 0.7150204
#3     2     4 0.1234555
#4     2     5 0.8208454

或者,您可以按照与NSE相同的方式来使用它:

df %>%
     group_by_("a", "b") %>%
     summarize(total = sum(x))

#Source: local data frame [4 x 3]
#Groups: a [?]

#      a     b     total
#  <dbl> <dbl>     <dbl>
#1     1     3 1.5214746
#2     1     4 0.7150204
#3     2     4 0.1234555
#4     2     5 0.8208454

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

管道中的group_by和group_by_

来自分类Dev

a [n]是否真的可以和*(a + n)互换-为什么sizeof返回两个不同的答案?

来自分类Dev

dplyr:group_by和group_by_函数之间有什么区别?

来自分类Dev

为什么两个代码给出不同的输出

来自分类Dev

为什么两个sql给出不同的结果?

来自分类Dev

为什么这两个代码给出不同的输出

来自分类Dev

汇总两个不同的变量

来自分类Dev

嗨...不应该 id_public 变量给出的结果为 81 和 86?为什么它为两个派生类占用不同的内存位置?

来自分类Dev

矩阵相乘给出两个不同的答案

来自分类Dev

为什么用一个参数而不是两个参数调用释放函数?

来自分类Dev

为什么用两个参数(struct inode *,struct file *)打开调用?

来自分类Dev

红宝石模量。为什么这两个总和打印出不同的答案?

来自分类Dev

AS3:为什么用.graphics创建的行会出现在两个不同的位置,而用parent.visible = false删除时,只有一行会出现?

来自分类Dev

为什么“ echo $ 0”在两个不同的终端上给出不同的结果?

来自分类Dev

如何使用正则表达式对group_by进行汇总并汇总多个变量?

来自分类Dev

为什么两个看似相同的变量会产生两个不同的结果?

来自分类Dev

为什么用offsetWidth测量HTML5文本会在两个不同的时间点为阿拉伯文本提供两个不同的结果

来自分类Dev

为什么在Spark中汇总并折叠两个不同的API?

来自分类Dev

HTML5 Canvas:为什么用measureText和offsetWidth()测量文本会给出不同的值?

来自分类Dev

使用两个变量对数据进行子集并汇总

来自分类Dev

使用两个变量对数据进行子集并汇总

来自分类Dev

为什么这两个golang整数转换函数给出不同的结果?

来自分类Dev

为什么这两个“自动装箱”语句给出不同的结果?

来自分类Dev

为什么这两个代码段给出不同的结果

来自分类Dev

为什么这两个C#脚本给出不同的结果?

来自分类Dev

为什么这两个find命令给出不同的结果?

来自分类Dev

为什么这两个日期命令给出不同的结果?

来自分类Dev

为什么以下两个ps命令给出不同的`CMD`字段?

来自分类Dev

为什么相同的正则表达式会给出两个不同的结果?

Related 相关文章

  1. 1

    管道中的group_by和group_by_

  2. 2

    a [n]是否真的可以和*(a + n)互换-为什么sizeof返回两个不同的答案?

  3. 3

    dplyr:group_by和group_by_函数之间有什么区别?

  4. 4

    为什么两个代码给出不同的输出

  5. 5

    为什么两个sql给出不同的结果?

  6. 6

    为什么这两个代码给出不同的输出

  7. 7

    汇总两个不同的变量

  8. 8

    嗨...不应该 id_public 变量给出的结果为 81 和 86?为什么它为两个派生类占用不同的内存位置?

  9. 9

    矩阵相乘给出两个不同的答案

  10. 10

    为什么用一个参数而不是两个参数调用释放函数?

  11. 11

    为什么用两个参数(struct inode *,struct file *)打开调用?

  12. 12

    红宝石模量。为什么这两个总和打印出不同的答案?

  13. 13

    AS3:为什么用.graphics创建的行会出现在两个不同的位置,而用parent.visible = false删除时,只有一行会出现?

  14. 14

    为什么“ echo $ 0”在两个不同的终端上给出不同的结果?

  15. 15

    如何使用正则表达式对group_by进行汇总并汇总多个变量?

  16. 16

    为什么两个看似相同的变量会产生两个不同的结果?

  17. 17

    为什么用offsetWidth测量HTML5文本会在两个不同的时间点为阿拉伯文本提供两个不同的结果

  18. 18

    为什么在Spark中汇总并折叠两个不同的API?

  19. 19

    HTML5 Canvas:为什么用measureText和offsetWidth()测量文本会给出不同的值?

  20. 20

    使用两个变量对数据进行子集并汇总

  21. 21

    使用两个变量对数据进行子集并汇总

  22. 22

    为什么这两个golang整数转换函数给出不同的结果?

  23. 23

    为什么这两个“自动装箱”语句给出不同的结果?

  24. 24

    为什么这两个代码段给出不同的结果

  25. 25

    为什么这两个C#脚本给出不同的结果?

  26. 26

    为什么这两个find命令给出不同的结果?

  27. 27

    为什么这两个日期命令给出不同的结果?

  28. 28

    为什么以下两个ps命令给出不同的`CMD`字段?

  29. 29

    为什么相同的正则表达式会给出两个不同的结果?

热门标签

归档