我有一个数据框列表,如下所示:
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
在一行中获得这个?
这样的东西适合您的用例吗?
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