您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關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
<chr> <dbl>
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包分組求均值遇到的問題及解決辦法有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。