Я анализирую управление во вращающемся лесном хозяйстве, где лес засаживается, затем, когда он растет, его несколько раз прореживают, собирая несколько деревьев, а затем, в конце концов, все деревья вырубаются.
Вот пример того, как мои данные могут выглядеть:
year <- rep(seq(1,10, 1),3)
stand <- c(rep(1,10),rep(2,10),rep(3,10))
treatment <- c("planting", "none", "thinning", "none", "thinning", "none", "none", "felling", "planting", "none",
"none", "planting", "thinning", "thinning", "thinning","none", "felling", "planting", "thinning", "none",
"planting", "none", "thinning","none", "felling", "planting", "thinning","none", "thinning", "felling")
data <- data.frame(year,stand,treatment)
Три стойки имеют очень разные повороты.
- Стенд 1 высаживается в первый год, затем дважды прореживается и рубится в 8-м году, а затем снова высаживается в 9-м. Существует один полный оборот и 2 сруба за оборот
- Стенд 2 высаживается в год 2, 3 раза прореживается, а в 7 год вырубается. После этого новый лес высаживается и прореживается один раз, но севооборот не завершается. Таким образом, происходит одно вращение, и на одно вращение приходится 3 прореживания.
- Стойка 3 имеет два вращения с одним прореживанием во вращении 1 и двумя во вращении 2. Результат должен показать, что в среднем имеется 1,5 прореживания на вращение.
У меня есть тысячи стендов со всеми видами графиков вращения, поэтому подсчитать это вручную для меня невозможно. Как я могу написать скрипт для расчета количества прореживаний за полный оборот (годы между посадкой и рубкой)?
В конце я хотел бы иметь таблицу с номером стенда и количеством прореживаний за полный оборот Все неполные повороты должны быть отброшены.