向量列表的长度和label的向量应该相同。以length == 3为例:
n <- list(c(1,2),c(6,7,8),c(10))
cat <- c("c1", "c2", "c3")
我想用这种形式制作数据表:
n cat
1 c1
2 c1
6 c2
7 c2
8 c2
10 c3
答案 0 :(得分:1)
在将stack
的名称设置为'cat'list
vector
out <- stack(setNames(n, cat))
names(out) <- c("n", "cat")
out
# n cat
#1 1 c1
#2 2 c1
#3 6 c2
#4 7 c2
#5 8 c2
#6 10 c3
在tidyverse
中,可以使用enframe
library(tibble)
library(dplyr)
library(tidyr)
n %>%
set_names(cat) %>%
enframe(name = 'cat', value = 'n') %>%
unnest(n)