У меня есть набор данных с данными NDVI и типом леса. Мои столбцы NDVI заполнены NaN. Я пытаюсь усреднить 2 столбца NDVI (индекс растительности от 0 до 1), а затем вычислить среднее значение по типу леса. Мой подход состоит в том, чтобы создать третий столбец, а затем вычислить среднее значение. Что-то вроде:
data_full %>%
mutate(sum = sum(meanNDVIyear11,meanNDVIyear12, na.rm=TRUE)) %>%
mutate(sum = sum/2) %>%
group_by(OriginalForest) %>%
summarise(meanNDVI = mean(sum,na.rm=TRUE))
The output is simply wrong:
# A tibble: 4 x 2
OriginalForest meanNDVI
<chr> <dbl>
1 bushland 292.
2 Conifer 292.
3 Decidious 292.
4 Sclerofilous 292.
Вместо этого очень неприятным способом я могу также сделать:
data_full %>%
group_by(OriginalForest) %>%
summarise(meanNDVI = mean(((meanNDVIyear12+meanNDVIyear11)/2),na.rm=TRUE))
И это работает!
# A tibble: 4 x 2
OriginalForest meanNDVI
<chr> <dbl>
1 bushland 0.462
2 Conifer 0.533
3 Decidious 0.479
4 Sclerofilous 0.557
Я так хрен ios знать, что я делаю неправильно при первом подходе, который явно более элегантен!