dplyr组不使用美元符号数据$COLUMN语法 [英] dplyr groups not working with dollar sign data$column syntax
本文介绍了dplyr组不使用美元符号数据$COLUMN语法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我要查找每个组的列的最小值和最大值:
mtcars %>%
group_by(mtcars$cyl) %>%
summarize(
min_mpg = min(mtcars$mpg),
max_mpg = max(mtcars$mpg)
)
# # A tibble: 3 x 3
# `mtcars$cyl` min_mpg max_mpg
# <dbl> <dbl> <dbl>
# 1 4 10.4 33.9
# 2 6 10.4 33.9
# 3 8 10.4 33.9
它在很大程度上是有效的,并且数据集的格式看起来很好。但是,它给出了整个数据集的最小和最大值,而不是每个单独组的最小值和最大值。
推荐答案
请勿在dplyr
函数内使用$
,它们需要无引号的列名。
mtcars$mpg
具体引用原始输入数据框中的整列,而不是来自group_by
的分组Tibble。更改您的代码以删除data$
,它将正常工作:
mtcars %>%
group_by(cyl) %>%
summarize(
min_mpg = min(mpg),
max_mpg = max(mpg)
)
# # A tibble: 3 x 3
# cyl min_mpg max_mpg
# <dbl> <dbl> <dbl>
# 1 4 21.4 33.9
# 2 6 17.8 21.4
# 3 8 10.4 19.2
(更不用说打字更少了!)
这篇关于dplyr组不使用美元符号数据$COLUMN语法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文