Я пытаюсь написать функцию для замены отсутствующих значений в столбцах на медиану, и это работает как для факторов / символов, так и для числовых значений.
library(dplyr)
test = data.frame(a=1:6,b=c("a","b",NA,NA,NA,"c"),c=c(1,1,1,1,2,NA),d=c("a","a","c",NA,NA,"b"))
fun_rep_na = function(df){
for(i in colnames(df)){
j<-sym(i)
df = df %>% mutate(!!j=if_else(is.na(!!j),median(!!j, na.rm=TRUE),!!j))
}
}
Я вижу, что в tidyr есть функция replace_na, но я тоже не знаю, как ее использовать. Во всяком случае, я бы хотел кастомную функцию.
Приведенный выше код дает мне ошибку.
mutate_all
. Кстати,median
нужен числовой столбец - person akrun   schedule 19.06.2019factor
иcharacter
столбцов? - person Ronak Shah   schedule 19.06.2019