Como realizar interpolação linear em r (com exemplo)


A interpolação linear é o processo de estimar um valor desconhecido de uma função entre dois valores conhecidos.

Dados dois valores conhecidos (x 1 , y 1 ) e (x 2 , y 2 ), podemos estimar o valor y para um ponto x usando a seguinte fórmula:

y = y 1 + (xx 1 )(y 2 -y 1 )/(x 2 -x 1 )

O exemplo a seguir mostra como realizar interpolação linear em R.

Exemplo: interpolação linear em R

Suponha que temos o seguinte quadro de dados com valores x e y em R:

 #define data frame
df <- data. frame (x=c(2, 4, 6, 8, 10, 12, 14, 16, 18, 20),
                 y=c(4, 7, 11, 16, 22, 29, 38, 49, 63, 80))

#view data frame
df

    xy
1 2 4
2 4 7
3 6 11
4 8 16
5 10 22
6 12 29
7 14 38
8 16 49
9 18 63
10 20 80

Podemos usar o código a seguir para criar um gráfico de dispersão para visualizar os valores (x,y) no quadro de dados:

 #create scatterplot
plot(df$x, df$y, col=' blue ', pch= 19 )

Agora suponha que queremos encontrar o valor de y associado a um novo valor de x de 13 .

Podemos usar a função approx() em R para fazer isso:

 #fit linear regression model using data frame
model <- lm(y ~ x, data = df)

#interpolate y value based on x value of 13
y_new = approx(df$x, df$y, xout= 13 )

#view interpolated y value
y_new

$x
[1] 13

$y
[1] 33.5

O valor estimado de y acaba sendo 33,5 .

Se adicionarmos o ponto (13, 33,5) ao nosso gráfico, ele parece corresponder muito bem à função:

 #create scatterplot
plot(df$x, df$y, col=' blue ', pch= 19 )

#add the predicted point to the scatterplot
points(13, y_new$y, col=' red ', pch= 19 )

interpolação linear em R

Podemos usar esta fórmula exata para realizar interpolação linear para qualquer novo valor de x.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:

Como resolver um sistema de equações em R
Como prever valores em R usando um modelo de regressão múltipla

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *