У меня есть много dataframes где отсутствующие значения обозначаются строками символов 'NA'
, которые не понимали, как не хватает Р.Применить функцию к несколько dataframes
Длительного решения было бы применить следующую функцию к каждому dataframe:
mydf[mydf == 'NA'] <- NA
Я хочу, чтобы применить вышеуказанную функцию для многих dataframes.
Рассмотрим следующий пример:
set.seed(123)
A=as.data.frame(matrix(sample(c('NA',1:10),10*10,T),10)))
B=as.data.frame(matrix(sample(c('NA',LETTERS[1:10]),10*10,T),10))
C=as.data.frame(matrix(sample(c('NA',letters[1:10]),10*10,T),10))
и мой лучший попробовать (который не работает):
target <- list(A, B, C)
lapply(target, function(x) x[x == 'NA'] <- NA)
lapply (целевая функция (х) х [х == «NA»] <- NA: return (x)) – vck
И присвойте результаты переменной, например 'target_NA <- lapply (.....' – Heroka
Возможно, я нашел решение, но не очень элегантное. Есть ли возможности для улучшения? 'Mylist = Map (function (x) ifelse (x == 'NA', NA, x), target) ' и' for (i in 1: length (mylist)) {assign (paste (i), do.call (rbind , lapply (mylist [i], unlist)))} ' – goclem