首页 > 解决方案 > 如何在 R 的列表中创建引用前一个对象的对象?

问题描述

有没有办法引用在 R 的列表中创建的对象?我知道在列表之外这是可能的,但我不能在列表中这样做。

我想做的一个可重复的例子:

my_list <- list(
  
  a = 1:3,
  b = c("a", "b", "c"),
  c = b        # Error: object 'b' not found
  
  )

我想要的结果:

> structure(my_list)
$a
[1] 1 2 3

$b
[1] "a" "b" "c"

$c
[1] "a" "b" "c"

标签: rlistobjectvectordplyr

解决方案


可以使用dplyr::lstpurrr::lst

my_list <- dplyr::lst(
  a = 1:3,
  b = c("a", "b", "c"),
  c = b       
)

-输出

my_list
#$a
#[1] 1 2 3

#$b
#[1] "a" "b" "c"

#$c
#[1] "a" "b" "c"

推荐阅读