Funciones de interpolación en R

En este artículo, veremos las funciones de interpolación approx() y aproxfun() con ejemplos prácticos en el lenguaje de programación R.

Función de interpolación Approx() y Approxfun()

Estas funciones devuelven una lista de puntos que interpolan linealmente puntos de datos dados, o una función que realiza la interpolación lineal (o constante).

Sintaxis: 

  • aprox. (x, y = NULL, xout, método = “lineal”, n = 50,
              yleft, yright, rule = 1, f = 0, ties = mean)
  • approxfun(x, y = NULL, método = “lineal”,
              yleft, yright, rule = 1, f = 0, ties = mean)

Parámetros:

  • x, y :vectores numéricos que dan las coordenadas de los puntos a interpolar.
  • xout: un conjunto opcional de valores numéricos que especifican dónde se llevará a cabo la interpolación.
  • método: especifica el método de interpolación a utilizar. Las opciones son «lineal» o «constante».
  • n: Si no se especifica xout, la interpolación tiene lugar en n puntos equidistantes que abarcan el intervalo [min(x), max(x)].
  • yleft: el valor que se devolverá cuando los valores de entrada x sean menores que min(x). 
  • yright: el valor que se devolverá cuando los valores de entrada x sean mayores que max(x).
  • regla: un número entero (de longitud 1 o 2) que describe cómo debe tener lugar la interpolación fuera del intervalo [min(x), max(x)].
  • ties: manejo de valores de x empatados.

Método 1: aplicar una función aproximada a dos coordenadas

En este método, aplicaremos la función approx a dos coordenadas usando la función approx pasada con el vector dado como sus parámetros para obtener una lista de puntos que interpolan dados dos puntos de datos diferentes.

Ejemplo:

En este ejemplo, hemos utilizado dos vectores, uno de 0 a 10 y otro de 0 a 20, y luego con la llamada de la función approx y pasando el vector creado a la función obtenemos la lista de puntos que interpolan linealmente n y Además de una mejor visualización, tenemos que crear la gráfica de los puntos en el lenguaje de programación R.

R

# Create vector
x <- c(0, 10)    
y <- c(0, 20)  
  
# Apply approx function
data_approx1 <- approx(x, y)       
data_approx1    
  
# Draw output of approx function
plot(data_approx1$x,                 
     data_approx1$y)
points(x, y,
       col = "red",
       pch = 16)

Producción:

$x

 [1] 0,0000000 0,2040816 0,4081633 0,6122449 0,8163265 1,0204082 1,2244898 1,4285714 1,6326531 1,8367347

[11] 2,0408163 2,2448980 2,4489796 2,6530612 2,8571429 3,0612245 3,2653061 3,4693878 3,6734694 3,8775510

[21] 4,0816327 4,2857143 4,4897959 4,6938776 4,8979592 5,1020408 5,3061224 5,5102041 5,7142857 5,9183673

[31] 6.1224490 6.3265306 6.5306122 6.7346939 6.9387755 7.1428571 7.3469388 7.5510204 7.7551020 7.9591837

[41] 8.1632653 8.3673469 8.5714286 8.7755102 8.9795918 9.1836735 9.3877551 9.5918367 9.7959184 10.0000000

$y

 [1] 0,0000000 0,4081633 0,8163265 1,2244898 1,6326531 2,0408163 2,4489796 2,8571429 3,2653061 3,6734694

[11] 4,0816327 4,4897959 4,8979592 5,3061224 5,7142857 6,1224490 6,5306122 6,9387755 7,3469388 7,7551020

21

31

[41] 16.3265306 16.7346939 17.1428571 17.5510204 17.9591837 18.3673469 18.7755102 19.1836735 19.5918367 20.0000000

 

Método 2: aplicar una función aproximada a múltiples coordenadas

En este método, para aplicar una función aproximada a múltiples coordenadas, el usuario debe crear los vectores que contienen múltiples coordenadas que, además, deben pasarse como se hizo en la función de enfoque anterior, que devolverá la interpolación lineal de una lista del vector pasado al usuario.

Ejemplo:

En este ejemplo, crearemos el vector de acuerdo con las coordenadas múltiples y luego pasaremos a la función approx para obtener la lista de interpolaciones del vector que se pasa más adelante para la visualización que tenemos para crear la gráfica de los puntos.

R

# Create vector
x <- c(1,8,9,4,7,6,5)    
y <- c(0,6,5,1,4,7,9)  
  
# Apply approx function
data_approx1 <- approx(x, y)       
data_approx1    
  
# Draw output of approx function
plot(data_approx1$x,                 
     data_approx1$y)
points(x, y,
       col = "red",
       pch = 16)

Producción:

$x

 1

14

27

[40] 7,367347 7,530612 7,693878 7,857143 8,020408 8,183673 8,346939 8,510204 8,673469 8,836735 9,000000

$y

 [1] 0,00000000 0,05442177 0,10884354 0,16326531 0,21768707 0,27210884 0,32653061 0,38095238 0,43537415 0,48979592

11

21

31

41

 

Método 3: Cree una función de interpolación definida por el usuario usando approxfun

En este método para crear una función de interpolación definida por el usuario, el usuario debe llamar a la función approxfun() y pasar los parámetros necesarios para obtener la interpolación correspondiente en el lenguaje de programación R.

Ejemplo:

En este ejemplo, crearemos el vector correspondiente y pasaremos este vector dado a la función approxfun, y trazaremos la gráfica de los puntos x e y con la curva dada por la función approxfun en el lenguaje de programación R.

R

# Create vector
x <- c(1,8,9,4,7,6,5)    
y <- c(0,6,5,1,4,7,9)  
  
# Apply approx function
data_approxfum <- approxfun(x, y)       
data_approxfum    
  
# Draw output of approx function
plot(x, y)                        
curve(data_approxfum, add = TRUE)

Producción:

function (v) 
.approxfun(x, y, v, method, yleft, yright, f, na.rm)
<bytecode: 0x000001bf4ba22068>
<environment: 0x000001bf4d2c0408>

 

Publicación traducida automáticamente

Artículo escrito por geetansh044 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *