R의 integrate
함수를 사용하여 두 개의 플롯 사이의 면적을 계산하려고합니다."integrate"를 사용하여 두 줄 사이의 면적을 계산하는 중 오류가 발생했습니다
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 다음은 내가 시각화, 두 곡선 사이의 영역에도 그늘을 같은 플롯에 배치하고 할 수있어이 예측 곡선이 내 데이터를 계산하는 코드는 두 곡선 사이에 있습니다. 예 에 명시된 바와 같이 "(. RESP 절대 값) 두 개의 곡선 사이의 면적은 두 곡선의 차이의 적분과 동일하다" :
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
이 점에 대해 명확히 이해하십시오. 감사!
'세분'수를 늘릴 수는 있지만 반올림 오류가 발생할 수 있습니다. 대신 approximations없이 integral을 계산할 것을 제안합니다. 일부 지오메트리를 사용하는 것은 그렇게 어렵지 않습니다. – Roland