首页 > 解决方案 > group_by() 不起作用的奇怪问题?

问题描述

我有一个包含 3 个因子列和 4 个数字列的数据集。我想用 group_by() 来总结一下。但是无论我怎么尝试它都不起作用,没有组。

freetick <- read.csv("FreeTickAll.csv", stringsAsFactors=FALSE)
library(dplyr)
group1 <- freetick %>% group_by(Habitat, Month) %>% summarize(
meanAd = mean(Adult),
meanNy = mean(Nymph), 
meanLa = mean(Larva)
)
group1

结果:

> group1
    meanAd   meanNy  meanLa
1  0.6129032  4.258065  20.1129

我的 group1 data.frame 还显示:

     mean Ad   mean Ny  mean La
1   0.6129032   4.258065   20.1129

标签: rdplyr

解决方案


如果一个函数在多个包中是通用的并且这些包被加载到工作环境中,那么就有可能从最后加载的包中屏蔽该函数。在这种情况下,要么只加载感兴趣的包(dplyr在这种情况下)重新启动 R 会话,要么指定要从感兴趣的包中显式加载的函数(dplyr::summarise

freetick %>%
    dplyr::group_by(Habitat, Month) %>%
    dplyr::summarise(meanAd = mean(Adult),
                     meanNy = mean(Nymph), 
                     meanLa = mean(Larva))

推荐阅读