在数据帧中定义一个分位数组,数据源位于R中的另一个数据帧中

在数据帧中定义一个分位数组,数据源位于R中的另一个数据帧中,r,tidyverse,R,Tidyverse,我有一个来自命名向量中数据帧的分位数信息,使用下一个代码: library(tidyverse) quant_mpg <- mtcars %>% pull(mpg) %>% quantile(probs = seq(0, 1, 0.1)) 库(tidyverse) 数量百分比 拉力(mpg)%>% 分位数(probs=seq(0,1,0.1)) 我想在帖子创建的摘要数据框中剪切这个分位数: grouped_mtcars <- mtcars %>%

我有一个来自命名向量中数据帧的分位数信息,使用下一个代码:

library(tidyverse)

quant_mpg <- mtcars %>% 
  pull(mpg) %>% 
  quantile(probs = seq(0, 1, 0.1))

库(tidyverse)
数量百分比
拉力(mpg)%>%
分位数(probs=seq(0,1,0.1))
我想在帖子创建的摘要数据框中剪切这个分位数:

grouped_mtcars <- mtcars %>% 
  group_by(cyl) %>% 
  summarize(mpg = mean(mpg)) %>% 
  ungroup() %>% 
  mutate(quantile = cut(mpg, quant_mpg, labels = FALSE))

分组车辆%
组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别
汇总(mpg=平均值(mpg))%>%
解组()%>%
变异(分位数=cut(mpg,quant_mpg,labels=FALSE))
获取下一个输出:

# A tibble: 3 x 3
    cyl   mpg quantile
  <dbl> <dbl>    <int>
1     4  26.7        9
2     6  19.7        6
3     8  15.1        2
#一个tible:3 x 3
分位数
1     4  26.7        9
2     6  19.7        6
3     8  15.1        2

有没有一种方法可以使分组变量的这一点变得简单,而无需定义
quant\u mpg
向量。我需要这样做,因为我有几个分组变量和分组数据帧,我需要不经过太多处理就获得分位数。

我们可以从原始数据中提取列

library(dplyr)
mtcars %>% 
   group_by(cyl) %>% 
   summarise(mpg = mean(mpg)) %>%
   mutate(quantile = cut(mpg,  quantile(mtcars[['mpg']], #####
            probs = seq(0, 1, 0.1)), labels = FALSE))
# A tibble: 3 x 3
#    cyl   mpg quantile
#  <dbl> <dbl>    <int>
#1     4  26.7        9
#2     6  19.7        6
#3     8  15.1        2
库(dplyr)
mtcars%>%
组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别
总结(mpg=平均值(mpg))%>%
变异(分位数=切割(mpg,分位数(mtcars)['mpg']]#####
probs=seq(0,1,0.1)),labels=FALSE)
#一个tibble:3x3
#分位数
#       
#1     4  26.7        9
#2     6  19.7        6
#3     8  15.1        2