私は、nlsの係数を含むデータフレームのリストを組み立てました。これはカスタムブートストラップ(実際にはバギング)メソッドの一部です。私は、データフレーム内の各パラメータの平均を計算したいと思います。R:リストに含まれるデータフレームの要素の平均を取る
XDATAとYDATAをサンプリングした後、リストを含むループに取り込まれる:
nls(ydata ~ A*cos(2*pi*((xdata-x_0)/z))+M,start=list(A=4,M=-7,x_0=-10,z=30))
fitdata = summary(fit)$coefficients
fitresults[[i]] = fitdata
以下のようにリストは、100のデータフレームが含まれています。私は計算したい
Estimate Std. Error t value Pr(>|t|)
A 3.945959 0.1729441 22.816381 3.440064e-14
M -8.349697 0.1656195 -50.414926 5.920106e-20
x_0 -3.677582 0.5717355 -6.432313 6.194560e-06
z 33.680613 1.1314373 29.767989 4.158598e-16
リスト全体の最初の列の各要素の平均。したがって、見積もりのA、M、x_0、およびz。
私はdply関数で少し遊んだことがありますが、私はそれを得ることができません。
多くの感謝!
私はdplyr'と ''に探してお勧め最初の列を取得するために多くの可能性は、一つは、リスト上
sapply
に、このようなものでありますが、箒。まず、インデックスカラムを持つ 'data_frame'とブートストラップのサンプルインデックスのリストであるSampleカラムを生成します。 data_frameを 'rowwise'でグループ化し、mutateを使用してフィットモデルで新しい列を作成します。 'broom'の' tidy'関数を使って簡単に要約できるdata_frameを生成します。 –また、リスト内の各データフレームを変更するには、変数名の列を含める必要があります。そして 'do.call(rbind、LIST)'を使ってそれらを一緒にデータフレームに結合します。これはそれほどエレガントではありませんが、現在のコードに適しています。 –