今天就跟大家聊聊有关R语言dplyr包分组求均值遇到的问题及解决办法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
创新互联专注于阿里地区网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供阿里地区营销型网站建设,阿里地区网站制作、阿里地区网页设计、阿里地区网站官网定制、成都小程序开发服务,打造阿里地区网络公司原创品牌,更为您提供阿里地区网站排名全网营销落地服务。
R语言里的dplyr这个包group_by()
函数加上summarise()
函数分组计算方差均值等非常好用。比如一组数据
df<-data.frame(first=c("A","A","B","B"),
second=c(1,2,3,4))
df
### 以下是df的返回结果,不需要输入
first second
1 A 1
2 A 2
3 B 3
4 B 4
我想分别结算两个A和两个B的平均值,用以下代码可以很方便的实现
library(dplyr)
df%>%
group_by(first)%>%
summarise(y=mean(second)) -> df1
# 结果保存在df1中,输入df1并运行返回以下内容
df1
# A tibble: 2 x 2
first y
1 A 1.5
2 B 3.5
以上是正常情况
然而我最近再用这个方法的时候一直出现问题,返回的结果是直接计算1234的均值,并不会分组计算。这个问题困扰了我一周的时间,昨天在公众号发推文提到了这个问题,与人留言给出了解决方案:另一个包plyr相冲突导致的问题。可以把plyr detach 掉
我也没有加载plyr
这个包呀,那很有可能是加载其他包的时候因为依赖plyr
这个包同时也把它加载了。
不在使用已经加载的包可以用detach()
函数,写法是
detach('package:plyr')
运行这条命令的时候报错Error: package ‘plyr’ is required by ‘Rmisc’ so will not be detached
我说呢,Rmisc
这个包里有一个计算置信区间的函数,之前分组计算均值就没有遇到过这个问题,这次我是想分组计算置信区间,所以加载了Rmisc
这个包。那就一次关闭已经加载的包
detach('package:Rmisc')
detach('package:plyr')
这样再分组计算就没有问题了
看完上述内容,你们对R语言dplyr包分组求均值遇到的问题及解决办法有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。