0
我試圖組織一個數據集與同一位置的多個副本的唯一位置。另外,我只想保留每個位置條目的最大豐度報告。這是數據集的前6行。注意3和4的位置是相同的,所以我想放棄第3行並保留第4行,因爲它具有更高的丰度。第5行和第6行的丰度最高,但我只需要保留其中一個。使用dplyr總結與最大數量重複的組
X abun location
1 1 L2507550
2 1 L668283
3 1 L831877
4 5 L831877
5 3 L668283
6 3 L668283
這裏是我使用的代碼:
require(dplyr)
require(reshape2)
require(lubridate)
########Load data and clean########
#set working directory to load data from Data folder
setwd("V:/snailData")
getwd()
#Load csv
m <- read.csv("may.csv")
#group data by location and identify the maximum abundance for each location
m_max <- m %>% group_by(location) %>% summarise(m, max(abun))
這裏的錯誤消息我得到:
> m_max <- m %>% group_by(location) %>% summarise(m, max(abun))
Error: expecting a single value
難道因爲有丰度最高的多條記錄我得到這個錯誤?如何解決這個問題可以得到解決的任何見解都會有所幫助。 謝謝。
UPDATE
這從@paljenczy答案擺脫了錯誤消息(謝謝!): 管道操作符%>%通過左邊的第一個參數在其表達式的結果功能在右側。因此你不需要m作爲第一個參數來總結。儘量
'm_max的< - M%>%GROUP_BY(位置)%>%綜述(MAX(abun))'
但是,命令最終挑選出只與丰度最高的位置(只適用地點丰度爲15)不是每個地點的最高丰度。有誰知道如何解決這一問題?
也許你還加載了'plyr'包,導致函數名衝突。因此,你可以嘗試'm%>%group_by(location)%>%dplyr :: summarize(max(abun))',將來先裝載plyr,然後再裝載dplyr或者根本不需要裝載plyr –
@伊麗莎白米看到更新的答案。如果它解決了你的問題,請考慮接受它。 – paljenczy