Я хочу создать функцию, которая отображает рост (или покров, как описано в наборе данных) видов растений внутри графика с течением времени. Другими словами, я хочу построить график даты перекрытия для одного вида на одном графике с течением времени.
Вот пример набора данных:
Site Date Plot Species Cover
mbs 2020-04-05 A1 Cest 2
mbs 2020-05-05 A1 Cest 10
mbs 2020-06-05 A1 Cest 15
mbs 2020-07-05 A1 Cest 20
mbs 2020-08-05 A1 Cest 16
mbs 2020-04-05 A3 Frve 1
mbs 2020-05-05 A3 Frve 5
mbs 2020-06-05 A3 Frve 10
mbs 2020-07-05 A3 Frve 12
mbs 2020-08-05 A3 Frve 10
Вот также моя попытка сделать мой фактический воспроизводимый набор данных:
dput(PlantComp[3000:3040, c(1, 2, 4, 5, 6)])
structure(list(Site = c("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", "umbs", "umbs", "umbs",
"umbs", "umbs", "umbs", "umbs"), Date = structure(c(18417, 18417,
18417, 18417, 18417, 18417, 18417, 18417, 18417, 18417, 18417,
18417, 18417, 18417, 18417, 18417, 18417, 18417, 18417, 18417,
18417, 18417, 18417, 18417, 18417, 18417, 18417, 18417, 18417,
18417, 18417, 18417, 18417, 18417, 18417, 18417, 18417, 18417,
18417, 18417, 18417), class = "Date"), Plot = c("B4", "B4", "B4",
"B4", "B4", "B4", "B4", "B4", "B4", "B5", "B5", "B5", "B5", "B5",
"B5", "B5", "B6", "B6", "B6", "B6", "B6", "B6", "B6", "B6", "B6",
"C1", "C1", "C1", "C1", "C1", "C1", "C1", "C1", "C1", "C1", "C1",
"C2", "C2", "C2", "C2", "C2"), Species = c("Cest", "Poco", "Popr",
"Ruac", "Litter", "Umsp", "Ulsp", "Vert_Litter", "Ptaq", "Cest",
"Poco", "Popr", "Litter", "Bare_Ground", "Umsp", "Vert_Litter",
"Cape", "Cest", "Dasp", "Hype", "Poco", "Litter", "Vert_Litter",
"Ulsp", "Ptaq", "Cest", "Dasp", "Hype", "Popr", "Ruac", "Litter",
"Umsp", "Vert_Litter", "Ulsp", "Bare_Ground", "Vear", "Cape",
"Cest", "Dasp", "Hype", "Popr"), Cover = c(6L, 1L, 3L, 3L, 78L,
5L, 1L, 1L, 1L, 16L, 3L, 7L, 76L, 2L, 7L, 1L, 1L, 13L, 8L, 1L,
4L, 79L, 1L, 3L, 1L, 15L, 1L, 1L, 5L, 6L, 68L, 3L, 2L, 3L, 3L,
1L, 1L, 19L, 2L, 1L, 3L)), row.names = 3000:3040, class = "data.frame")
Я сделал это и для столбца даты:
PlantComp$Date <- as.Date(PlantComp$Date,
format = "%m/%d/%y")
Это код, который я пытался написать в R, чтобы создать желаемый функция:
perc_cover_plot <- function(Species, Plot) {
PlantCompSub <- filter(PlantComp, Species == Species & Plot == Plot)
return(plot(Cover ~ Date, data = PlantCompSub))
}
Когда я вызываю функцию perc_cover_plot <- (Cest, A1)
, я получаю график . Кажется, я получаю один и тот же график, независимо от того, какой вид или участок я ввел в функцию.
Я также пробовал использовать трубопровод, чтобы получить желаемый результат:
perc_cover_plot2 <- function (Species, Plot) {
PlantComp %>%
filter(Species == Species & Plot == Plot) %>%
plot(Cover ~ Date)
}
Я ищу для создания базового c линейного графика - что-то похожее на this .