У меня есть dataframe вроде этого:Как рассчитать медианные значения без NA?
df
name var1 var2 var3 var4 var5 ...
site1 10 20 12 5 ..
site2 15 NA 11 2 ..
site3 NA 11 21 1 ..
site4 9 18 NA 6 ..
Я использую этот код для вычисления медианы столбцов.
apply(df[,c(2:4)], 2, median)
Но он дает NA для столбцов с 2 по 4, поскольку они имеют значения NA. Как исключить значения NA и по-прежнему вычислять медианы из остальных данных в каждом столбце? Если для подмножества используется na.rm = T, все строки с NA будут удалены, а это не то, что я хочу. Спасибо за помощь.
Вы можете просто использовать 'применить (DF, 2, функция (х) медиана (х, па. rm = TRUE)) 'или даже лучше' apply (df [, 2: 4], 2, median, na.rm = TRUE) ' – shadowtalker
@ssdecontrol ah ok, я не знал этого, я думал, что это то, что OP имел ввиду. –
Я обнаружил, что некоторые строки имеют одно и то же имя, а некоторые нет. Так можно рассчитать медианы для строк с одинаковыми именами, например, классифицировать? Результаты должны иметь несколько средних значений для каждой переменной в соответствии с именами. Благодарю. –