繁体   English   中英

group_by和summary()使用dplyr / tidyverse在R中进行多项操作

[英]group_by and summarize() multiple things in R using dplyr/tidyverse

我正在尝试找到平均年龄最高的国家,但我还需要过滤掉数据框中条目少于5个的国家。 我尝试了以下操作,但不起作用:

bil %>% 
  group_by(citizenship,age) %>% 
  mutate(n=count(citizenship), theMean=mean(age,na.rm=T)) %>% 
  filter(n>=5) %>% 
  arrange(desc(theMean))

bil是数据集,我试图计算每个国家/地区有多少条目,过滤出条目少于5个的国家/地区,找到每个国家/地区的平均年龄,然后找到平均值最高的国家/地区。 我对如何同时做两件事感到困惑。 如果我一次做一个汇总,我将丢失其余数据。

也许,这可能会有所帮助。 请注意, count中的参数“ x”是tbl/data.frame 因此,我们不使用count而是按“公民身份”进行分组,并使用n()获得值的频率,获取“ age”的mean (不确定“ age”是否为分组变量)并进行filter

bil %>%
   group_by(citizenship) %>% 
   mutate(n = n()) %>%     
   mutate(theMean = mean(age, na.rm=TRUE)) %>% 
   filter(n>=5) %>%
   arrange(desc(theMean))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM