Я довольно новый для R и этот вопрос может показаться странным .. У меня есть data.frame с именами других data.frames в первой колонке:Как получить доступ к данным data.frame, когда имя data.frame сохраняется в data.frame?
> data
tablename avg_size
1 ttest 5000
2 testsheet 15000
5 ttest2 15000
6 mtcars 13000
Тогда то, что я хотел бы сделать, это получить имена таблиц (это data.frames) и запустить некоторые функции над этими data.frames. Например, я хотел бы получить сумму в каждой ВПЛ таблицы, это было возможно с помощью
missing_values <- sum(is.na(eval(as.name(as.vector(data[1])))))
Моя проблема заключается в том, что 1) это выглядит немного слишком сложно, и я думаю, что может быть лучше решения? 2) С другими функциями у меня возникают проблемы, например.
infinite_values <- sum(is.infinite(as.numeric(eval(as.name(as.vector(data[1]))))))
Это не работает, вставка «as.numeric» не помогла.
Может кто-нибудь помочь?
EDIT: Спасибо за ответы! Я попытался как
infinite_values <- sum(is.infinite(as.numeric(eval(as.name(as.vector(data[1]))))))
и
obg <- mget(as.character(data[,1]))
но она возвращает "Ошибка: Значения для''ttest'' не найден." Поскольку это решение, похоже, работает на вас, что я, возможно, делаю неправильно?
Я думаю, что обнаружил хотя бы одну проблему: «mtcars» находится в другой среде и поэтому не может быть найден mget. теперь и с unlist(), похоже, это работает. благодаря! – mariego