2014-11-11 8 views
13

Sono nuovo di RStudio e credo che la mia domanda sia abbastanza facile da risolvere ma molte ricerche non mi hanno aiutato.Come esportare i coefficienti dell'analisi di regressione da RStudio a un foglio di calcolo o un file csv?

Sto eseguendo una regressione e summary(regression1) mi mostra tutti i coefficienti e così via. Ora sto usando coef(regression1) quindi mi dà solo i coefficienti che voglio esportare in un file.

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

Sarebbe bello se tu potessi aiutarmi. Sto cercando il web da poche ore e non ho avuto successo.

Devo modificare coef in qualche modo in modo che si adatti in un data.frame?

Grazie mille!

+8

sarei suggerisco di provare write.csv '(as.data.frame (sintesi (regression1) $ coef), file =" regression1.csv) ' – Roland

+1

Grazie mille! Funziona. Rimane solo una cosa: ogni informazione è in colonne diverse ma sempre in una cella. Come posso cambiarlo? –

+0

Non seguo. – Roland

risposta

16

È disponibile un pacchetto denominato broom che semplifica questa attività, converte l'output del modello in ordinati frame di dati. Ecco un self-contained esempio riproducibile:

Scaricare e installare il pacchetto:

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

ecco l'output di base normale, abbastanza difficile:

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

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

Coefficients: 
(Intercept)   wt 
    37.285  -5.344 

Ecco la stessa uscita del modello dopo che è stato riordinato dal pacchetto broom, molto più bello e più facile da lavorare:

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 

Ed ecco come ci si scrive che dataframe al CSV:

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

È lo stesso pacchetto che ottengo quando installo 'broom' da CRAN? – MERose

+0

Sì, stesso pacchetto – Ben

+0

Ah, molto bene, grazie! In questo caso si può rimuovere il riferimento all'account github, giusto? – MERose