创建一个不相等向量组合的数据帧



我试图通过结合我通过提取列与特定匹配得到的所有向量来创建一个数据框架,如下所示:

a <-filter(data, Strain == "9.2.1") %>% pull(gr)
b <-filter(data, Strain == "4.2.1") %>% pull(gr)
c <-filter(data, Strain == "4.2.2") %>% pull(gr)

问题是所有向量的长度都不相同:

a is num[1:7]
b is  num[1:5]
c is num[1:12]

我使用代码来创建数据框架Data.frame (a,b,c)并得到错误:行数不同。

期待建议

将所有向量放入列表中,然后执行以下操作

mylist <- list(a=a, b=b, c=c)
mx <- max(lengths(mylist))
data.frame(lapply(list(a=a, b=b, c=c), `length<-`, mx))
a  b  c
1   1  1  1
2   2  2  2
3   3  3  3
4   4  4  4
5   5  5  5
6   6 NA  6
7   7 NA  7
8  NA NA  8
9  NA NA  9
10 NA NA 10
11 NA NA 11
12 NA NA 12

最新更新