给出以下不平等列表:
lst <- list("es1-7"= c(1,2,3,4), "sa1-12"=c(3,4) , "ES8-13"= c(9,7,4,1,5,2))
> lst
$`es1-7`
[1] 1 2 3 4
$`sa1-12`
[1] 3 4
$`ES8-13`
[1] 9 7 4 1 5 2
我想创建一个像这样的数据框:
group numbers
1 es1-7 1
2 es1-7 2
3 es1-7 3
4 es1-7 4
5 sa1-12 3
6 ... ...
因此,在这种情况下,列表的names
将是名为group
的新列的值,而numbers
将是列表的值。
欢迎使用base
和dplyr
的解决方案
答案 0 :(得分:2)
我们可以使用stack
中的base R
创建两列数据。frame
stack(lst)[2:1]
或与enframe
library(tidyverse)
enframe(lst, name = "group", value = "numbers") %>%
unnest