Получение R для предположения/угадывания имен элементов списка

При построении list(), особенно больших, я хотел бы найти способ заставить R угадать имя элементов, передаваемых в список, на основе имени самого элемента.

Например, чтобы построить список со следующими данными:

dog <- c(1,2,3)
cat <- c(3,2,1)

С именами, которые я в настоящее время должен написать:

list(dog = dog, cat = cat)

Есть ли способ просто написать:

list(dog, cat)

где имена элементов автоматически угадываются на основе имени элемента?


person Will T-E    schedule 27.09.2019    source источник


Ответы (1)


Мы можем использовать mget с ls(), если это единственные объекты в глобальной среде.

mget(ls())

Если в глобальной среде есть и другие переменные, то другим чистым вариантом является создание новой среды и объектов, созданных в этой среде, тогда было бы проще вызвать ls с указанным envir

e1 <- new.env()
e1$dog <- 1:3
e1$cat <- 3:1
mget(ls(envir = e1))

Если мы используем lst из purrr, он также автоматически получит идентификаторы.

library(purrr)
lst(dog, cat)
#$dog
#[1] 1 2 3

#$cat
#[1] 3 2 1
person akrun    schedule 27.09.2019