【发布时间】:2021-01-30 01:21:14
【问题描述】:
我正在尝试计算我的数据集中的平均开花持续时间。首先,我想找到记录每个小区中每个物种开花的最小和最大儒略日,并计算这两个数字的差异。
dput(phen_flwr1[525:575,])
structure(list(site = c("kbs", "kbs", "kbs", "kbs", "kbs", "kbs",
"kbs", "kbs", "kbs", "kbs", "kbs", "kbs", "kbs", "kbs", "kbs",
"kbs", "kbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs",
"umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs",
"umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs",
"umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs",
"umbs", "umbs", "umbs", "umbs"), plot = c("A6", "D4", "A3", "A6",
"A1", "A6", "B1", "C5", "B3", "A5", "B4", "C5", "A5", "D4", "A4",
"C6", "C2", "B2", "B2", "B2", "B2", "B2", "B2", "D2", "D2", "D2",
"D2", "D2", "D2", "B4", "A4", "C2", "C2", "D2", "C2", "C2", "C2",
"C2", "C2", "C2", "C2", "C2", "C2", "C2", "C2", "D2", "D2", "C2",
"D2", "C2", "D2"), species = c("Acmi", "Acmi", "Acmi", "Acmi",
"Acmi", "Acmi", "Acmi", "Acmi", "Acmi", "Acmi", "Acmi", "Acmi",
"Acmi", "Acmi", "Acmi", "Acmi", "Acmi", "Acru", "Acru", "Acru",
"Acru", "Acru", "Acru", "Anma", "Anma", "Anma", "Anma", "Anma",
"Anma", "Ansp", "Ansp", "Apan", "Apan", "Apan", "Apan", "Apan",
"Apan", "Apan", "Apan", "Apan", "Apan", "Apan", "Apan", "Apan",
"Apan", "Apan", "Apan", "Apan", "Apan", "Apan", "Apan"), action = c("flower",
"flower", "flower", "flower", "flower", "flower", "flower", "flower",
"flower", "flower", "flower", "flower", "flower", "flower", "flower",
"flower", "flower", "flower", "flower", "flower", "flower", "flower",
"flower", "flower", "flower", "flower", "flower", "flower", "flower",
"flower", "flower", "flower", "flower", "flower", "flower", "flower",
"flower", "flower", "flower", "flower", "flower", "flower", "flower",
"flower", "flower", "flower", "flower", "flower", "flower", "flower",
"flower"), date = c("2018-06-14", "2019-08-03", "2017-06-29",
"2018-07-01", "2016-07-26", "2017-06-23", "2016-07-14", "2017-06-23",
"2017-06-18", "2016-06-26", "2017-06-12", "2017-06-18", "2017-07-03",
"2016-07-23", "2015-07-21", "2016-07-29", "2020-07-07", "2017-05-28",
"2017-05-30", "2017-06-05", "2017-06-03", "2017-06-01", "2017-06-07",
"2018-09-11", "2018-08-30", "2018-09-05", "2018-09-14", "2018-09-08",
"2018-09-02", "2017-05-28", "2017-05-17", "2020-07-31", "2019-07-21",
"2020-07-12", "2020-08-04", "2020-07-16", "2018-07-10", "2019-07-15",
"2019-07-18", "2020-08-14", "2020-08-07", "2018-07-04", "2020-07-12",
"2020-07-19", "2018-06-22", "2020-07-06", "2020-07-19", "2020-07-28",
"2020-07-09", "2018-07-07", "2020-06-24"), julian = c(165L, 215L,
180L, 182L, 208L, 174L, 196L, 174L, 169L, 178L, 163L, 169L, 184L,
205L, 202L, 211L, 189L, 148L, 150L, 156L, 154L, 152L, 158L, 254L,
242L, 248L, 257L, 251L, 245L, 148L, 137L, 213L, 202L, 194L, 217L,
198L, 191L, 196L, 199L, 227L, 220L, 185L, 194L, 201L, 173L, 188L,
201L, 210L, 191L, 188L, 176L), year = c(2018L, 2019L, 2017L,
2018L, 2016L, 2017L, 2016L, 2017L, 2017L, 2016L, 2017L, 2017L,
2017L, 2016L, 2015L, 2016L, 2020L, 2017L, 2017L, 2017L, 2017L,
2017L, 2017L, 2018L, 2018L, 2018L, 2018L, 2018L, 2018L, 2017L,
2017L, 2020L, 2019L, 2020L, 2020L, 2020L, 2018L, 2019L, 2019L,
2020L, 2020L, 2018L, 2020L, 2020L, 2018L, 2020L, 2020L, 2020L,
2020L, 2018L, 2020L), state = c("ambient", "ambient", "ambient",
"ambient", "ambient", "ambient", "ambient", "ambient", "warmed",
"warmed", "ambient", "ambient", "warmed", "ambient", "warmed",
"warmed", "ambient", "warmed", "warmed", "warmed", "warmed",
"warmed", "warmed", "warmed", "warmed", "warmed", "warmed", "warmed",
"warmed", "ambient", "warmed", "ambient", "ambient", "warmed",
"ambient", "ambient", "ambient", "ambient", "ambient", "ambient",
"ambient", "ambient", "ambient", "ambient", "ambient", "warmed",
"warmed", "ambient", "warmed", "ambient", "warmed")), row.names = c(757L,
759L, 760L, 761L, 762L, 763L, 765L, 766L, 767L, 768L, 769L, 770L,
771L, 772L, 773L, 774L, 775L, 776L, 777L, 778L, 779L, 780L, 781L,
782L, 783L, 784L, 787L, 788L, 790L, 791L, 792L, 794L, 795L, 797L,
799L, 800L, 801L, 805L, 806L, 814L, 821L, 822L, 823L, 825L, 826L,
828L, 830L, 832L, 833L, 834L, 840L), class = "data.frame")
我尝试使用 count() 或 aggregate() 函数,但没有成功。老实说,我不确定从哪里开始。
sum_flwr_duration <- phen_flwr1 %>%
group_by(site, plot, species, julian) %>%
summarise(aggregate(duration ~ Julian + species, FUN = mean))
【问题讨论】: