【问题标题】:Change variable name in dplyr::count using standard evaluation使用标准评估更改 dplyr::count 中的变量名称
【发布时间】:2015-07-07 13:07:50
【问题描述】:

dplyr::count_以标准评估方式使用时,如何更改分组变量的名称

例如,如果在最后的 tbl 中我不想要 var 名称“Species”而是“Type”:

iris %>% 
  group_by("Species") %>% 
  count_("Species")

Source: local data frame [3 x 2]

     Species  n
1     setosa 50
2 versicolor 50
3  virginica 50

我还想知道dplyr::count_ 是如何工作的以及这个表达式应该做什么?你有解释吗?

> iris %>% group_by("Species") %>% count_("x = Species")
Source: local data frame [3 x 2]

x = Species  n
1      setosa 50
2  versicolor 50
3   virginica 50

谢谢!

【问题讨论】:

  • 顺便说一句,您不需要 group_by。这就是计数的意义。
  • 是的,我刚刚意识到,阅读 ?count 帮助。谢谢!
  • iris %>% group_by("Species") %>% count_("x = Species") 看起来像一个错误,不应该在 IMO 工作。如果您第二次运行此行,它也不起作用。另外,您有什么理由使用count_ 而不是count
  • 是的,你是对的,它并不总是有效。我使用 SE 版本的函数,因为这不是“交互式使用”,我试图将它们包装在我自己的函数中,因此要计数的变量应该作为参数传递。

标签: r dplyr standard-evaluation


【解决方案1】:

好吧,我在发帖前使用了setNames,但使用方式错误。 这似乎是解决方案:

count_(iris, setNames("Species", "type"))

【讨论】:

    【解决方案2】:

    这是一种方法:

     iris %>% 
      rename(Type=Species) %>%
      count_("Type") 
    

    【讨论】:

      猜你喜欢
      • 2015-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-23
      相关资源
      最近更新 更多