Фреймы данных привязки строк, названные строками в векторе - PullRequest
1 голос
/ 26 мая 2020

Я изо всех сил пытаюсь связать фреймы данных, имена которых находятся внутри вектора как строки:

Я пробовал:

dflist<-c("df1", "df2", "df3")
dfnames<-c(sapply(dflist, function(x) eval(parse(text = "x"))))

dfFinal<-rbind(dfnames)

Но это не работает: dfnames по-прежнему содержит строки вместо имен переменных. Как я могу это решить?

1 Ответ

1 голос
/ 26 мая 2020

Мы можем использовать mget для возврата значений имен объектов в виде строк в list, а затем rbind в элементах list (при условии, что эти объекты имеют одинаковые имена столбцов - если это данные. рамка)

do.call(rbind, unname(mget(dflist)))

В сообщении OP x заключен в кавычки "x", вместо этого он должен быть

do.call(rbind, lapply(dflist, function(x) eval(parse(text = x))))

ПРИМЕЧАНИЕ: может быть лучше использовать mget

data

df1 <- data.frame(col1 = 1:5)
df2 <- data.frame(col1 = 1:3)
df3 <- data.frame(col1 = 7:9)
dflist<-c("df1", "df2", "df3")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...