У меня есть множество различных фреймов данных, и я хочу запустить одну и ту же пользовательскую функцию для каждого из них. Я хочу, чтобы результат возвращался в каждое из исходных имен фреймов данных, а не в список.применять одну и ту же настраиваемую функцию к нескольким кадрам данных (и возвращать в качестве фреймов данных не список)
Скажем, у меня есть куча разных данных:
mtcars1, mtcars2, mtcars3 ..... mtcars20. Каждый из них будет иметь разные уровни факторов, например, столбцы CYL. Я хочу, чтобы запустить функцию, которая:
- возвращает значение CYL ряда от фактора - as.numeric (as.character())
- вычисляет некоторые новый столбец, переходящее в среднем миль на галлон.
Теперь, каков код для этого и примените эту функцию? Опять же, я хочу, чтобы на выходе были все кадры данных mtcars1 ... mtcars20.
Я пытался смотреть на
lapply(mylist=c(mtars1...mtcars20) function(x) myfunct())
, но я бегу в неприятности.
Это крайне необходимо, чтобы быть список data.frames. Не 'lapply (список (mtcars1, mtcars2, ...), myfunct)' работает? – r2evans
Я пробовал это, но, возможно, мой синтаксис был неправильным. Для простого примера притвориться, что моя функция просто хочет преобразовать столбец CYL из значения коэффициента в числовой. Как мне это сделать? Я потратил некоторое время на борьбу с этим, и я не мог заставить его работать, поэтому я подумал, что есть какой-то другой способ, или у меня был неправильный подход? – runningbirds
См. Следующее сообщение о [работе со списками data.frames] (http://stackoverflow.com/questions/17499013/how-do-i-make-a-list-of-data-frames). Ответом gregor есть много хороших советов о том, как работать с такими объектами. Некоторые из других методов сообщений помещают data.frames в списки. – lmo