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))

しかし、それは完全には正しくありません。線量列に対して値をペアにするリストの応答列を拡張する必要があります。

必要な形式は次のとおりです。

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()とを使用したソリューションを次に示しunlist()ます。

  • の各要素の長さで、repの要素を繰り返すために使用します。doseresp
  • ベクトルに変換するために使用unlistしますresp

コード:

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 に答える