2012-01-17 17 views
0

xyの2つの列を持つデータフレームfがあり、すべての値がf$xの場合は昇順になります。関数y(x)として扱うことができます。y(x)関数の算術演算R

数学的な意味での関数のようなデータフレームに対して算術演算を実行したいと思います。たとえば:x配列は、すべての機能のために同じですが、私の場合には、彼らがポイントの異なる密度で異なる範囲を表すことができるかどう

# f1 stores points of y1(x) 
# f2 stores points of y2(x) 
f3 <- 2*f1 + 3*f2 
# now f3 stores points of y3(x) = 2*y1(x) + 3*y2(x) 

問題はありません。

したがって、私は両方の関数が定義されている区間で作業し、既知の点の間の関数の値を得るために補間(線形で十分です)を行う必要があります。

既に実装されているパッケージはありますか?

+1

'findInterval'と' approx'のヘルプを見てください - これらはこの場合には役に立つかもしれません。 – Andrie

答えて

2

動物園のライブラリには、単純なスプラインの外挿機能があり、これは便利な機能です。これは同様の範囲を持つことを可能にする。

library(zoo) 
my.df <-matrix(c(1:5,NA),ncol=2,nrow=15) 
na.spline(my.df) 

      [,1]  [,2] 
[1,] 1.000000 4.000000 
[2,] 2.000000 5.000000 
[3,] 3.000000 2.767553 
[4,] 4.000000 1.000000 
[5,] 5.000000 2.000000 
[6,] 3.002711 3.000000 
[7,] 1.000000 4.000000 
[8,] 2.000000 5.000000 
[9,] 3.000000 2.997556 
[10,] 4.000000 1.000000 
[11,] 5.000000 2.000000 
[12,] 3.017224 3.000000 
[13,] 1.000000 4.000000 
[14,] 2.000000 5.000000 
[15,] 3.000000 5.932149