Ich habe eine Datenbank, in der ich die Habituationsraten von Krabben über einen bestimmten Zeitraum hinweg vergleiche. Ich möchte eine lineare Regression für jeden einzelnen erstellen und dann sammeln alle Ergebnisse (abfangen, Neigung und R^2 Werte) in einen Datenrahmen, die aussehen würde:Erstellen Sie einen Datenrahmen mit allen Ergebnissen aus einer einfachen linearen Regression auf mehrere Datenreihen
1. Säule: Crab ID
2. Säule: Intercept
3. Säule: Slope
4. Säule: R^2
Meine Datenbank sieht ähnlich aus wie das, aber mit viel mehr Datenpunkte (132 Flips pro Individuum, mehr als 50 Personen)
ID Enclosure Flip Num Time taken
2 Simple 1 0.5
2 Simple 2 0.8
2 Simple 3 0.41
2 Simple 4 0.44
4 Bare 1 0.37
4 Bare 2 0.41
4 Bare 3 1.06
4 Bare 4 0.59
5 Simple 1 1.88
5 Simple 2 1.88
5 Simple 3 2.04
5 Simple 4 2.66
6 Complex 1 1.87
6 Complex 2 1.96
6 Complex 3 1.56
6 Complex 4 2.34
9 Complex 1 0.44
9 Complex 2 2.35
9 Complex 3 2.22
9 Complex 4 3.22
fand ich diesen Code auf eine andere Frage, aber dies nur den Achsabschnitt und die Steigung brachte:
library(plyr)
ddply(test, "individual", function(x) {
model <- lm(condition ~ day, data = x)
coef(model)
})
Ihr Dataset Beispiel und der Code nicht mit unterschiedlichen Spaltennamen in sync – akrun
Werfen Sie einen Blick auf das [Besen-Paket] (ftp://cran.r-project.org/pub/R/web/packages/broom/vignettes/broom.html) – beetroot