julioprofe - integral area entre 2 curvas
Busque para encontrar dos números que cubran el 95% del área bajo una curva (1)
Fondo:
Tengo dos columnas de números (columna " dd " y columna " yy ", ver a continuación para acceder a estos datos ). Cuando trazo "dd" ( eje X ) contra " yy " ( eje Y ), usando:
plot(dd, yy, ty="l", xlab = "dd", ylab ="yy", lwd=2, xaxs="i")
Entiendo esto:
Pregunta de codificación:
¿Pasar de "-Inf" a "0" u p hasta qué otro punto cubre el 95% del área bajo esta curva? En otras palabras, ¿queremos ver los dos números que corresponden a los dos PUNTOS DE DIRECCIÓN DE FLECHA si la flecha cubre el 95% del área bajo esta curva?
Aquí está el código R para importar fácilmente esta pequeña información en su Rstudio:
id <- "0B5V8AyEFBTmXM1VIYUYxSG5tSjQ"
Data <- read.csv(paste0("https://docs.google.com/uc?id=",id,"&export=download"))
Editar: Mi aproximación anterior no fue muy precisa. Resulta que el paquete pracma
tiene una función, cumtrapz
, que aproxima integrales con trapezoides y genera la suma en cada punto comenzando desde la izquierda. Usar esa función da una respuesta más precisa.
library(pracma)
points <- read.csv(paste0("https://docs.google.com/uc?id=",id,"&export=download"))
area <- cumtrapz(points$dd, points$yy)
ind <- rev(which(area[length(area)] - area > .95))[1]
point <- points$dd[ind]
point
# [1] -0.06406406