Rのintegrate
関数を使用して2つのプロット間の面積を計算しようとしています。"integrate"を使用して2行の間の面積を計算する際にエラーが発生しました
x1 = seq(1,200,1)
y1 = # 200 numbers from 0.02 - 1.000
y2 = # 200 numbers from 0.00 - 0.95
plot(x1,y1,type="l",bty="L",xlab="Forecast Days",ylab="Curve Actuals")
points(x1,y2,type="l",col="red")
polygon(c(x1,rev(x1)),c(y2,rev(y1)),col="skyblue")
私は同じことを実行しようとしてきたここでは例https://stat.ethz.ch/pipermail/r-help/2010-September/251756.html次のとおりです。私は可視化のために、2つの曲線の間の領域でも、日陰を同じプロット上に置くとすることができるよ2つの予測曲線を持っています私のデータのためのコードは、2つの曲線の間にあります。例えばで述べたように、「(。RESPその絶対値)は、2つの曲線の間の領域は、これら二つの曲線間の差の積分と同じである」:
f1 = approxfun(x1, y1-y2) # piecewise linear function
f2 = function(x) abs(f1(x)) # take the positive value
integrate(f2, 1, 200)
Iは、次のエラーを取得しかし:
Error in integrate(f2, 1, 200) : maximum number of subdivisions reached
この問題を解消することができます。ありがとう!
「サブディビジョン」の数を増やすことはできますが、丸め誤差が発生する可能性があります。代わりに近似なしで積分を計算することを提案します。幾何学を使うのはそれほど難しいことではありません。 – Roland