2014-11-11 6 views
13

Ich bin neu bei RStudio und ich denke meine Frage ist ziemlich einfach zu lösen, aber eine Menge Suche hat mir nicht geholfen.Wie können Koeffizienten der Regressionsanalyse von RStudio in eine Tabellenkalkulations- oder CSV-Datei exportiert werden?

Ich bin eine Regression und summary(regression1) zeigt mir alle Koeffizienten und so weiter. Jetzt verwende ich coef(regression1), also gibt es mir nur die Koeffizienten, die ich in eine Datei exportieren möchte.

write.csv(coef, file="regression1.csv) und die "Error in as.data.frame.default(x[[i]], optional = TRUE) : cannot coerce class ""function"" to a data.frame" auftritt.

Wäre toll, wenn Sie mir helfen könnten. Ich suche jetzt ein paar Stunden im Web und war nicht erfolgreich.

Muss ich coef irgendwie ändern, damit es in einen data.frame passt?

Vielen Dank!

+8

ich versucht würde vorschlagen, 'write.csv (as.data.frame (Zusammenfassung (regression1) $ Koef), file =" regression1.csv) ' – Roland

+1

Vielen Dank! Es klappt. Nur noch eine Sache: Jede Information ist in verschiedenen Spalten, aber immer in einer Zelle. Wie kann ich das ändern? –

+0

Ich folge nicht. – Roland

Antwort

16

Es gibt ein beigesteuertes Paket namens broom, das diese Aufgabe vereinfacht, es konvertiert die Modellausgabe in saubere Datenrahmen. Hier ist eine in sich geschlossene reproduzierbaren Beispiel:

Downloaden und installieren Sie das Paket:

library(devtools) 
install_github("dgrtwo/broom") 
library(broom) 

Hier ist die normale Basisleistung, nicht sehr bequem:

lmfit <- lm(mpg ~ wt, mtcars) 
lmfit 

Call: 
lm(formula = mpg ~ wt, data = mtcars) 

Coefficients: 
(Intercept)   wt 
    37.285  -5.344 

Hier ist das gleiche Modell ausgegeben, nachdem es gewesen ist aufgeräumt von der broom Paket, viel schöner und einfacher zu arbeiten mit:

tidy_lmfit <- tidy(lmfit) 
tidy_lmfit 
     term estimate std.error statistic  p.value 
1 (Intercept) 37.285126 1.877627 19.857575 8.241799e-19 
2   wt -5.344472 0.559101 -9.559044 1.293959e-10 

Und hier ist, wie Sie diesen Datenrahmen zu CSV schreiben würden:

write.csv(tidy_lmfit, "tidy_lmfit.csv") 
+0

Ist das das gleiche Paket, das ich bekomme, wenn ich "Besen" von CRAN installiere? – MERose

+0

Ja, gleiches Paket – Ben

+0

Ah, sehr gut, danke! In diesem Fall kann man den Verweis auf den GitHub-Account entfernen, oder? – MERose

Verwandte Themen