首页 > 解决方案 > 基于R中的平均值创建新变量的麻烦

问题描述

在此处输入图像描述

我有以下数据,我正在尝试获得平均持续时间(dur)

atusJoin3 %>%
    group_by(tuyear, agegroup) %>% 
    summarise(mean_dur = mean(dur, na.rm = T))

在此处输入图像描述

但是,当我尝试在 ggplot 中使用 mean_dur 时,它说没有找到 mean_dur。任何想法,为什么 mean_dur 找不到?

标签: rvariablesnew-operator

解决方案


这可能是因为没有通过将 ( <-) 分配给同一个对象来更新对象(但这会用汇总的对象覆盖原始对象,相反最好有一个新对象)

atusJoin_summary <-  atusJoin3 %>%
         group_by(tuyear, agegroup) %>% 
         summarise(mean_dur = mean(dur, na.rm = TRUE))

现在,我们使用atusJoin_summary作为输入数据ggplot


注意:如果打算在数据中创建一个新列,请mutate使用summarise


推荐阅读