Ich muss eine lineare Regressionsformel auf alle Spalten in meinem Datenframe namens mydf
anwenden. Es gibt Tausende von Spalten in mydf, so dass es nicht möglich wäre, sie in der Formel anzugeben. Es gibt zwei Spalten, weight
und age
, die in der Formel für alle anderen Spalten unverändert bleiben, in denen ich diese Formel anwenden möchte.Formel auf jede Spalte des Datenrahmens anwenden in R
Die Formel für die erste Spalte (Spalte bmd
) ist
fit1 <- lm(bmd ~ weight + age, data=mydf)
mydf[,"a"] <-fit1$fitted.values
ich auch diese Formel auf andere Spalten anwenden möchten (außer weight
und age
)
fit1 <- lm(bp ~ weight + age, data=mydf)
mydf[,"bp"] <-fit1$fitted.values
und
fit1 <- lm(choles ~ weight + age, data=mydf)
mydf[,"choles"] <-fit1$fitted.values
was wäre das Beste (Zeiteffizienter Weg, da es wirklich lange dauert) Weg, um diese Formel zu erweitern und die passte.Werte in der rechten Spalte über alle gewünschten Spalten zu speichern (bmd
, bp
, choles
)?
mydf
bmd bp choles weight age
1 2 3 22.3 12
2 1 2 33.2 13
3 2 5 44.5 16
Sie möchten also die aktuellen Werte dieser anderen Spalten durch die angepassten Werte der Regression ersetzen? – Parfait
@Parfait ja das ist richtig. Aber ich weiß nicht, wie ich es effizienter machen könnte. – MAPK