이것은 지난 해이 사이트에서 저에게 성공적으로 답변 된 질문에 대한 후속 질문입니다. How to take the mean of last 10 values in a column before a missing values using R을 참조하십시오.R에서 행 범위 사이의 값의 평균을 취하는 방법?
이전에 누락 된 값보다 먼저 열의 마지막 10 개 행 평균을 취하는 방법을 묻습니다. 내 데이터는 나무의 성장률입니다. 첫 번째 열은 연도이고 오른쪽 열은 개별 나무의 성장률이며, 각 트리가 죽은 해에 끝납니다. 각 나무가 태어나 기 전에 나무가 죽은 후에 성장률 값은 NA
입니다. 나는 각각의 나무가 죽기 전에 지난 10 년의 평균을 위해 필요한 경우, 작업 코드이었다
sapply(dataframe, function(dataframe) mean(tail(na.omit(dataframe), 10)))
나중에, 나는 각 나무의 삶의 처음 50 년 동안 평균 성장률을하기 위해 필요한, 내 질문은, 지금
sapply(dataframe, function(dataframe) mean(head(na.omit(dataframe), 50)))
: 그래서 나는이 코드를 사용하여 "꼬리"에 대한 "머리"를 대체하여 이런 짓을 내가 각 트리의 첫 번째 50에서 100 세 사이의 성장을 평균을 얼마나 성장? 그래서 50-100 세 사이의 각 트리의 평균 성장을 원하십니까? 특정 행 사이의 평균을 허용 할 수있는 ("머리"또는 "꼬리"와 유사한) 인식하지 못하는 함수가 있습니까? 어려움은 각각의 나무가 다른 해에 태어 났거나 (또는 죽었다), 그래서 나는 단순히 특정 해를 색인 할 수 없다는 것입니다.
도움을 주셔서 감사합니다. 당신이 필요로 무엇을 얻을 수 head
및 tail
결합
케이티
고맙습니다! 두 솔루션 모두 예상대로 작동했으며 100 년 미만의 성장을 기록한 일부 나무가 있으므로 색인 수정 (na.omit (x) [51 : 100])을 사용했습니다. – user1913921