Есть ли способ использовать mapply на двух векторах для создания именованного списка? Первый вектор будет иметь тип character
и содержать имена, используемые для списка, а второй - значения.
Пока единственное решение, которое у меня есть:
> dummyList = list()
> addToList <- function(name, value) {
+ dummyList[[name]] <- value
+ }
> mapply(addToList, c("foo", "bar"), as.list(c(1, 2))
$foo
`1`
$bar
`2`
Это похоже на довольно надуманное решение, но я не могу понять, как это сделать в противном случае. У меня есть проблемы:
-
Требуется создание
dummyList
, хотяdummyList
никогда не изменяется и является пустым списком после вызоваmapply
. -
Если числовой вектор
c(1, 2)
не преобразуется в список, тогда результат вызоваmapply
является именованным вектором удвоений.
Чтобы обойти проблему 2, я всегда могу просто вызвать mapply
на двух векторах, а затем вызывать as.list
в результате, но кажется, что должен быть способ прямого создания списка со значениями, находящимися в вектор.