应用于汇总+ group_by的函数无法正常工作

时间:2016-10-13 09:08:05

标签: r function group-by summarize

我提取我的数据

fluo <- read.csv("data/ctd_SOMLIT.csv", sep=";", stringsAsFactors=FALSE)

我显示三列:基于原始日期的日期,月份和年份:Y - m - d

fluo$day <- day(as.POSIXlt(fluo$DATE, format = "%Y-%m-%d"))
fluo$month <- month(as.POSIXlt(fluo$DATE, format = "%Y-%m-%d"))
fluo$year <- year(as.POSIXlt(fluo$DATE, format = "%Y-%m-%d"))

这是我的data_frame的一部分:

data.frame

然后,我总结和group_by以便应用函数:

prof_DCM = fluo[max(fluo$FLUORESCENCE..Fluorescence.),2] 

=&GT;我希望每年每个月测量一次FLUORESCENCE的最大深度。

mean_fluo <- summarise(group_by(fluo, month, year), 
                       prof_DCM = fluo[max(fluo$FLUORESCENCE..Fluorescence.),2])
mean_fluo <- arrange(mean_fluo, year, month)
View(mean_fluo)

但它不起作用...... prof_DCM的值在data_frame的第3列中仍然相同:

same value for column 3

1 个答案:

答案 0 :(得分:0)

也许尝试以下代码。

library(dplyr)
mean_fluo <- fluo %>%
group_by(month,year) %>%
filter(FLUORESCENCE..Fluorescence. == max(FLUORESCENCE..Fluorescence.)) %>%
arrange(year,month)

View(mean_fluo)

您可以使用“选择”

选择要保留的变量
mean_fluo <- fluo %>%
group_by(month,year) %>%
filter(FLUORESCENCE..Fluorescence. == max(FLUORESCENCE..Fluorescence.)) %>%
arrange(year,month)%>%
select(c(month,year,PROFONDEUR))