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