溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

R語言dplyr包分組求均值遇到的問題及解決辦法

發(fā)布時(shí)間:2021-11-22 15:01:18 來源:億速云 閱讀:577 作者:柒染 欄目:大數(shù)據(jù)

今天就跟大家聊聊有關(guān)R語言dplyr包分組求均值遇到的問題及解決辦法,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

R語言里的dplyr這個(gè)包group_by()函數(shù)加上summarise()函數(shù)分組計(jì)算方差均值等非常好用。比如一組數(shù)據(jù)

df<-data.frame(first=c("A","A","B","B"),
               second=c(1,2,3,4))
df
### 以下是df的返回結(jié)果,不需要輸入
 first second
1     A      1
2     A      2
3     B      3
4     B      4
 

我想分別結(jié)算兩個(gè)A和兩個(gè)B的平均值,用以下代碼可以很方便的實(shí)現(xiàn)

library(dplyr)
df%>%
  group_by(first)%>%
  summarise(y=mean(second)) -> df1

# 結(jié)果保存在df1中,輸入df1并運(yùn)行返回以下內(nèi)容
 df1
# A tibble: 2 x 2
  first     y
  <chr> <dbl>
1 A       1.5
2 B       3.5
 

以上是正常情況

然而我最近再用這個(gè)方法的時(shí)候一直出現(xiàn)問題,返回的結(jié)果是直接計(jì)算1234的均值,并不會(huì)分組計(jì)算。這個(gè)問題困擾了我一周的時(shí)間,昨天在公眾號(hào)發(fā)推文提到了這個(gè)問題,與人留言給出了解決方案:另一個(gè)包plyr相沖突導(dǎo)致的問題。可以把plyr   detach 掉

我也沒有加載plyr這個(gè)包呀,那很有可能是加載其他包的時(shí)候因?yàn)橐蕾?code>plyr這個(gè)包同時(shí)也把它加載了。

不在使用已經(jīng)加載的包可以用detach()函數(shù),寫法是

detach('package:plyr')
 

運(yùn)行這條命令的時(shí)候報(bào)錯(cuò)Error: package ‘plyr’ is required by ‘Rmisc’ so will not be detached

我說呢,Rmisc這個(gè)包里有一個(gè)計(jì)算置信區(qū)間的函數(shù),之前分組計(jì)算均值就沒有遇到過這個(gè)問題,這次我是想分組計(jì)算置信區(qū)間,所以加載了Rmisc這個(gè)包。那就一次關(guān)閉已經(jīng)加載的包

detach('package:Rmisc')
detach('package:plyr')
 

這樣再分組計(jì)算就沒有問題了

看完上述內(nèi)容,你們對(duì)R語言dplyr包分組求均值遇到的問題及解決辦法有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI