如何命名未命名列表的元素
How to name the elements of an unnamed list
我有一个如下所示的列表:
setlist2 <- list(wsb_b6, wsb_id8)
[[1]]
[1] "Gm10116" "Tpm3-rs7" "Wdfy1" "Rps3a2" "AK157302" "Gm6563"
"Gm9825" "Gm10259" "Gm6768"
[[2]]
[1] "Gm6401" "Ecel1" "Hpca" "Tmem176a" "Lepr"
"Baiap3" "Fam183b" "Vsx2" "Vtn"
我需要它看起来像这样:
$wsb_b6
[1] "Gm10116" "Tpm3-rs7" "Wdfy1" "Rps3a2" "AK157302" "Gm6563"
"Gm9825" "Gm10259" "Gm6768"
$wsb_id8
[1] "Gm6401" "Ecel1" "Hpca" "Tmem176a" "Lepr"
"Baiap3" "Fam183b" "Vsx2" "Vtn"
我知道通过手动操作我可以实现,但每个都超过 100,必须有更好的方法
听起来您想创建一个命名列表。具体来说,您想创建一个命名列表,其中的名称取自环境中变量的名称。
这类似于这个问题:Can lists be created that name themselves based on input object names?
我不相信在 base R 中有一个简单的函数可以做到这一点,但你可以使用包 Hmisc
:
中的函数 llist
library(Hmisc)
setlist2 <- llist(wsb_b6, wsb_id8)
使用dplyr::lst
setlist2 <- dplyr::lst(wsb_b6, wsb_id8)
#我发现我不得不取消列出我之前的两个列表
wsb_b6 <-wsb_b6[,1]
wsb_b6 <-unlist(wsb_b6)
wsb_id8 <-wsb_id8[,1]
wsb_id8 <- unlist(wsb_id8)
#然后再列出来,但是像这样
setlist2 <-list(wsb_b6=wsb_b6, wsb_id8= wsb_id8)
我有一个如下所示的列表:
setlist2 <- list(wsb_b6, wsb_id8)
[[1]]
[1] "Gm10116" "Tpm3-rs7" "Wdfy1" "Rps3a2" "AK157302" "Gm6563"
"Gm9825" "Gm10259" "Gm6768"
[[2]]
[1] "Gm6401" "Ecel1" "Hpca" "Tmem176a" "Lepr"
"Baiap3" "Fam183b" "Vsx2" "Vtn"
我需要它看起来像这样:
$wsb_b6
[1] "Gm10116" "Tpm3-rs7" "Wdfy1" "Rps3a2" "AK157302" "Gm6563"
"Gm9825" "Gm10259" "Gm6768"
$wsb_id8
[1] "Gm6401" "Ecel1" "Hpca" "Tmem176a" "Lepr"
"Baiap3" "Fam183b" "Vsx2" "Vtn"
我知道通过手动操作我可以实现,但每个都超过 100,必须有更好的方法
听起来您想创建一个命名列表。具体来说,您想创建一个命名列表,其中的名称取自环境中变量的名称。
这类似于这个问题:Can lists be created that name themselves based on input object names?
我不相信在 base R 中有一个简单的函数可以做到这一点,但你可以使用包 Hmisc
:
llist
library(Hmisc)
setlist2 <- llist(wsb_b6, wsb_id8)
使用dplyr::lst
setlist2 <- dplyr::lst(wsb_b6, wsb_id8)
#我发现我不得不取消列出我之前的两个列表
wsb_b6 <-wsb_b6[,1]
wsb_b6 <-unlist(wsb_b6)
wsb_id8 <-wsb_id8[,1]
wsb_id8 <- unlist(wsb_id8)
#然后再列出来,但是像这样
setlist2 <-list(wsb_b6=wsb_b6, wsb_id8= wsb_id8)