Я могу сгенерировать alist
как
alist(x = , y = )
Это может быть использовано для определения / переопределения формальных функций, таких как
f <- function() {}
formals(f) <- alist(x = , y = )
formals(f)
$x
$y
Как я могу генерировать те же формалы, когда у меня есть только имена аргументов как символьный вектор?
Сначала я попытался:
v <- c("x", "y")
vector("alist", length(v))
, но это выдает ошибку:
Ошибкаin vector («alist», length (v)): vector: не может создать вектор из режима «alist».
Во-вторых, я подумал, что могу построить выражение x = , y =
с paste
иparse
, но при этом выдается еще одна ошибка:
string <- paste0(paste0(v, collapse = " = ,"), " = ")
parse(text = string)
Ошибка при разборе (текст = строка):: 1: 5: неожиданно ',' 1: x =, ^
В-третьих, я пытался использовать обычный список, но это не приводит к тому же:
l <- vector("list", length(v))
names(l) <- v
l
$x
NULL
$y
NULL
Спасибо за любые подсказки!