So führen sie eine lineare interpolation in r durch (mit beispiel)


Bei der linearen Interpolation wird ein unbekannter Wert einer Funktion zwischen zwei bekannten Werten geschätzt.

Bei zwei bekannten Werten (x 1 , y 1 ) und (x 2 , y 2 ) können wir den y-Wert für einen Punkt x mithilfe der folgenden Formel schätzen:

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

Das folgende Beispiel zeigt, wie eine lineare Interpolation in R durchgeführt wird.

Beispiel: lineare Interpolation in R

Angenommen, wir haben den folgenden Datenrahmen mit x- und y-Werten in 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

Mit dem folgenden Code können wir ein Streudiagramm erstellen, um die (x,y)-Werte im Datenrahmen zu visualisieren:

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

Nehmen wir nun an, wir möchten den y-Wert ermitteln, der einem neuen x-Wert von 13 zugeordnet ist.

Wir können dazu die Funktion approx() in R verwenden:

 #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

Der geschätzte y-Wert beträgt 33,5 .

Wenn wir den Punkt (13, 33.5) zu unserem Diagramm hinzufügen, scheint er recht gut mit der Funktion übereinzustimmen:

 #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 )

lineare Interpolation in R

Wir können genau diese Formel verwenden, um eine lineare Interpolation für jeden neuen x-Wert durchzuführen.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in R ausführen:

So lösen Sie ein Gleichungssystem in R
So vorhersagen Sie Werte in R mithilfe eines multiplen Regressionsmodells

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert