让 R 获取列表元素的 assume/guess 个名称
Getting R to assume/guess names of list elements
在构建 list()
时,特别是大的,我想找到一种方法让 R 根据元素本身的名称猜测传递给列表的元素的名称。
例如,构造一个包含以下数据的列表:
dog <- c(1,2,3)
cat <- c(3,2,1)
我目前必须写的名字:
list(dog = dog, cat = cat)
有没有办法简单的写:
list(dog, cat)
其中根据元素名称自动猜测元素名称?
我们可以将 mget
与 ls()
一起使用,如果这些是全局环境中唯一的对象
mget(ls())
如果全局环境还有其他变量,那么另一个干净的选择是创建一个新的环境,并在该环境中创建对象,然后用 [=16= 调用 ls
会更容易] 指定
e1 <- new.env()
e1$dog <- 1:3
e1$cat <- 3:1
mget(ls(envir = e1))
如果我们使用 purrr
中的 lst
,它也会自动获取标识符
library(purrr)
lst(dog, cat)
#$dog
#[1] 1 2 3
#$cat
#[1] 3 2 1
在构建 list()
时,特别是大的,我想找到一种方法让 R 根据元素本身的名称猜测传递给列表的元素的名称。
例如,构造一个包含以下数据的列表:
dog <- c(1,2,3)
cat <- c(3,2,1)
我目前必须写的名字:
list(dog = dog, cat = cat)
有没有办法简单的写:
list(dog, cat)
其中根据元素名称自动猜测元素名称?
我们可以将 mget
与 ls()
一起使用,如果这些是全局环境中唯一的对象
mget(ls())
如果全局环境还有其他变量,那么另一个干净的选择是创建一个新的环境,并在该环境中创建对象,然后用 [=16= 调用 ls
会更容易] 指定
e1 <- new.env()
e1$dog <- 1:3
e1$cat <- 3:1
mget(ls(envir = e1))
如果我们使用 purrr
中的 lst
,它也会自动获取标识符
library(purrr)
lst(dog, cat)
#$dog
#[1] 1 2 3
#$cat
#[1] 3 2 1