从数据帧列表中获取name+id的向量

问题描述 投票:0回答:1

我有一个数据框列表,如下所示:

mylist=list()
mylist[['name1']]=data.frame(marker=LETTERS[1:3],values=1:3)
mylist[['name2']]=data.frame(marker=LETTERS[1:2],values=11:12)

看起来像:

> mylist
$name1
  marker values
1      A      1
2      B      2
3      C      3

$name2
  marker values
1      A     11
2      B     12

我想做的就是使用列表名称和标记元素获取一个向量,使其看起来像:

> markers_in_names
[1] "A@name1" "B@name1" "C@name1" "A@name2" "B@name2"

我应该如何通过

apply
系列函数和
paste, collapse
在一行中获得这个?

r dataframe list apply
1个回答
0
投票

这样的东西适合您的用例吗?

library(purrr)
mylist=list()
mylist[['name1']]=data.frame(marker=LETTERS[1:3],values=1:3)
mylist[['name2']]=data.frame(marker=LETTERS[1:2],values=11:12)

unlist(map2(mylist, names(mylist), ~paste(unlist(.x[[1]]), .y, sep = "@")), use.names = FALSE)
#> [1] "A@name1" "B@name1" "C@name1" "A@name2" "B@name2"

创建于 2023-09-14,使用 reprex v2.0.2

© www.soinside.com 2019 - 2024. All rights reserved.