R语言 使用unlist()展开列表,但只保留子列表名称

v7pvogib  于 2023-09-27  发布在  其他
关注(0)|答案(1)|浏览(96)

我有一个列表,其中每个对象本身就是一个列表。我想将列表扁平化到一个级别,但只保留子列表名称,而不是前置更高级别的列表名称。我可以使用类似下面的例子,但我不知道如何只保留子列表名称?

# Create a list of lists
my_list <- list(
  group1 = list(a = 1, b = 2),
  group2 = list(c = 3, d = 4)
)

# Flatten
flat_list <- unlist(my_list, recursive = FALSE)

结果是:

> flat_list
$group1.a
[1] 1

$group1.b
[1] 2

$group2.c
[1] 3

$group2.d
[1] 4

但我不想要group1.a,我只想要a

kokeuurv

kokeuurv1#

使用unname()删除顶级列表的名称,然后再执行unlist()操作。

my_list |> 
  unname() |>
  unlist(FALSE)
#> $a
#> [1] 1
#> 
#> $b
#> [1] 2
#> 
#> $c
#> [1] 3
#> 
#> $d
#> [1] 4

相关问题