Я пытаюсь создать объединенную строку и передать ее функции. Предположим, я хочу создать список фрейма данных, который я могу передать в функцию. Проблема заключается в том, что объединенная строка с использованием функции «noquote» обрабатывается как объект «noquote», а не как список, который мне нужен. Вот воспроизводимый пример. Если я определяю данные, используя data <- dflist1
, то получаю то, что хочу, но когда я пытаюсь data1 <- noquote(paste0("dflist", selection))
, он не возвращает тот же список.
Есть ли способ создать список так, как я хочу, только изменив selection
?
В реальной проблеме, с которой я сталкиваюсь, есть несколько аргументов функций, которые мне нужно изменить в таким образом, изучение этого трюка было бы очень полезно.
Любые комментарии приветствуются!
a <- data.frame(aa = c(1,2,3), bb = c(4,5,6))
b <- data.frame(cc = c(11,12,13), dd = c(41,51,61))
dflist1 <- list(a, b)
dflist2 <- list(a, b, a, b)
selection <- "1" # I want to make a choice here
data <- dflist1
data1 <- noquote(paste0("dflist", selection))
print(data1)
[1] dflist1
print(data)
[[1]]
aa bb
1 1 4
2 2 5
3 3 6
[[2]]
cc dd
1 11 41
2 12 51
3 13 61
class(data)
[1] "list"
class(data1)
[1] "noquote"