如何将向量和列表列表转换为R中的data.frame?

本质上我是一个矢量的产物和列表的列表,其中LoL有任意长度.

dose<-c(10,20,30,40,50)  
resp<-list(c(.3),c(.4,.45,.48),c(.6,.59),c(.8,.76,.78),c(.9))

我可以得到一些非常接近的东西

data.frame(dose,I(resp))

但这不是对的.我需要扩展列表中的值与列的配对.

所需的格式是:

10 .3
20 .4
20 .45
20 .48
30 .6
30 .59
40 .8
40 .76
40 .78
50 .9
最佳答案
这里是一个使用rep()和unlist()的解决方案.

>使用rep来重复剂量的元素,每个元素的长度分别为
>使用unlist将其分成一个向量

代码:

data.frame(
  dose = rep(dose, sapply(resp, length)),
  resp = unlist(resp)
)

   dose resp
1    10 0.30
2    20 0.40
3    20 0.45
4    20 0.48
5    30 0.60
6    30 0.59
7    40 0.80
8    40 0.76
9    40 0.78
10   50 0.90

转载注明原文:如何将向量和列表列表转换为R中的data.frame? - 代码日志