r - 有没有办法初始化或修改允许引用以前的值的列表?

标签 r list data-structures

我想在结构中存储非矩形数据,例如在列表中。

使用 tibble 引用以前的数据,例如像这样:

dat <- tibble(a = 2, 
              b = list(c(a + 1, a + 2)),
              c = list(tibble(a = a, b = 3)))

请注意,由于 tibble 不允许在列中使用 tibble(否则数据不会是矩形),因此我们必须将 tibble 包装起来在列表中,并且 dat$c 不返回 tibble,因为我们需要 dat$c[[1]]

后一个问题可以通过列表来解决。

dat2 <- list(a = 2, 
             b = c(3, 4), 
             c = tibble(a = 2, b = 3))

但是,现在我无法引用以前的条目构造数据元素:

dat2 <- list(a = 2, 
             b = c(a + 1, a + 2), 
             c = tibble(a = a, b = 3))
> Error: object 'a' not found

我的问题:有没有办法构建一个非矩形数据结构,并且支持通过引用以前的条目进行构建?

最佳答案

您可以使用lst()代替:

lst(a = 2, 
    b = c(a + 1, a + 2), 
    c = tibble(a = a, b = 3))

$a
[1] 2

$b
[1] 3 4

$c
# A tibble: 1 × 2
      a     b
  <dbl> <dbl>
1     2     3

关于r - 有没有办法初始化或修改允许引用以前的值的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72139140/

相关文章:

python - TypeError : unhashable type: 'dict' . 列表中的字典

r - 在 Mac OS X 中的 R 包 Cairo 中设置系统字体

list - 如果匹配字符串,则查找和删除列表元素

R: grid.arrange 边缘图到 ggplot2 "heatmap"(geom_tile)

html - 使用 CSS 单击更改列表的图标

jquery - 在 jQuery 中拆分列表 - 考虑到内存和可重用性

c++ - 不使用指针的递归数据结构

java - 从 ArrayDeque 获取元素的时间复杂度

css - rmarkdown 中的着色标签

css - 字体大小和行间距 R Slidify