Zwakke afvlakking uitvoeren in r (stap voor stap)
In de statistieken verwijst de term lowess naar „afvlakking van lokaal gewogen puntenwolken“ – het proces waarbij een vloeiende curve wordt geproduceerd die overeenkomt met de gegevenspunten in een puntenwolk.
Om lowess-afvlakking in R uit te voeren, kunnen we de functie lowess() gebruiken, die de volgende syntaxis gebruikt:
lager (x, y, f = 2/3)
Goud:
- x: een numerieke vector van x-waarden.
- y: een numerieke vector van y-waarden.
- f: de waarde voor de meest vloeiende omvang. Dit geeft het aantal punten in de plot weer dat de afvlakking bij elke waarde beïnvloedt. Hogere waarden resulteren in meer gladheid.
Het volgende stapsgewijze voorbeeld laat zien hoe u zwakke afvlakking kunt uitvoeren voor een bepaalde gegevensset in R.
Stap 1: Creëer de gegevens
Laten we eerst een nep-dataset maken:
df <- data. frame (x=c(1, 1, 2, 2, 3, 4, 6, 6, 7, 8, 10, 11, 11, 12, 13, 14), y=c(4, 7, 9, 10, 14, 15, 19, 16, 17, 21, 22, 34, 44, 40, 43, 45))
Stap 2: plot de gegevens
Laten we vervolgens de x- en y-waarden van de dataset plotten:
plot(df$x, df$y)
Stap 3: Teken de minimale curve
Laten we vervolgens de zwakste afvlakkingscurve uitzetten op de punten in het spreidingsdiagram:
#create scatterplot plot(df$x, df$y) #add lowess smoothing curve to plot lines(lowess(df$x, df$y), col=' red ')
Stap 4: Pas het zachtere bereik aan (optioneel)
We kunnen ook het f- argument in de lowess()-functie aanpassen om de waarde die wordt gebruikt voor een vloeiender bereik te verhogen of te verlagen.
Houd er rekening mee dat hoe groter de waarde die we opgeven, des te vloeiender de onderste curve zal zijn.
#create scatterplot plot(df$x, df$y) #add lowess smoothing curves lines(lowess(df$x, df$y), col=' red ') lines(lowess(df$x, df$y, f=0.3), col=' purple ') lines(lowess(df$x, df$y, f=3), col=' steelblue ') #add legend to plot legend(' topleft ', col = c(' red ', ' purple ', ' steelblue '), lwd = 2, c(' Smoother = 1 ', ' Smoother = 0.3 ', ' Smoother = 3 '))
Aanvullende bronnen
Hoe meerdere lijnen in een grafiek te plotten in R
Hoe u een spreidingsdiagram maakt met een regressielijn in R
Hoe polynomiale regressie uit te voeren in R