9

本质上,我追求的是向量和 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
4

1 回答 1

14

这是使用rep()and的解决方案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
于 2012-08-22T09:03:41.323 回答