この質問は、同じクラスのモデル タイプが多数あるが、各モデルのデータ量が少なく、スプラインを使用してより完全なデータセットを取得したい場合に当てはまります。すべてのモデルを一度に個別にスプラインする必要なく、これを行う方法を見つけたいと思っています。
だから私は次のdfを持っています:
mydf<- data.frame(c("a","a","b","b","c","c"),c("e","e","e","e","e","e")
,as.numeric(c(1,2,3,10,20,30)),
as.numeric(c(5,10,20,20,15,10)))
いくつかの名前を付けてください:
colnames(mydf)<-c("Model", "Class","Seconds", "Speed")
作成するもの:
> mydf
Model Class Seconds Speed
1 a e 1 5
2 a e 2 10
3 b e 3 20
4 b e 10 20
5 c e 20 15
6 c e 30 10
したがって、各モデルの Seconds 列と Speed 列にスプラインが必要です。たとえば、モデル「a」でスプラインを使用した場合、モデルとして「a」の要素のみをスプラインします。
お気に入り:
spline(x=mydf[1:2,3], y=mydf[1:2,4])
$x
[1] 1.0 1.2 1.4 1.6 1.8 2.0
$y
[1] 5 6 7 8 9 10
これは機能しますが、何百ものモデルがある場合...
「a」のみを使用して「a」をスプライン化し、「b」に移動して「b」のみをスプライン化するなどです。理想的には、新しいデータフレームとして出力しますが、この時点でエラーが発生しないようにしたいと思います.
plyr で ddply を試しましたが、エラーが発生しました。ループまたはループを含む関数の使用を避けたいと思っていますが、それが唯一のオプションである場合...
ありがとうございます。質問を改善できるかどうかお知らせください。