繁体   English   中英

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

[英]How do I transform a vector and a list of lists into a data.frame in R?

基本上我是在向量和列表的列表之后,其中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))

但这不太对劲。 我需要扩展列表的resp列,将值与剂量列配对。

所需的格式是:

10 .3
20 .4
20 .45
20 .48
30 .6
30 .59
40 .8
40 .76
40 .78
50 .9

这是使用rep()unlist()的解决方案。

  • 使用rep重复dose的元素,每个元素的长度为resp
  • 使用unlistresp转换为矢量

代码:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM