我提取我的数据
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的一部分:
然后,我总结和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列中仍然相同:
答案 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))