web-dev-qa-db-fra.com

Comment exporter les coefficients de l'analyse de régression vers un tableur ou un fichier csv?

Je suis nouveau sur RStudio et je suppose que ma question est assez facile à résoudre mais beaucoup de recherches ne m'ont pas aidé.

Je lance une régression et summary(regression1) me montre tous les coefficients et ainsi de suite. Maintenant j'utilise coef(regression1) donc ça ne me donne que les coefficients que je veux exporter vers un fichier.

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

Ce serait génial si vous pouviez m'aider. Je recherche le Web depuis quelques heures maintenant et je n'ai pas réussi.

Dois-je modifier coef d'une manière ou d'une autre pour qu'il tienne dans un data.frame?

Merci beaucoup!

17
OST_EE

Il y a un paquet contribué appelé broom qui simplifie cette tâche, il convertit la sortie du modèle en cadres de données bien rangés. Voici un exemple reproductible autonome:

Téléchargez et installez le package:

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

Voici la sortie de base normale, pas très pratique:

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

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

Coefficients:
(Intercept)           wt  
     37.285       -5.344 

Voici la même sortie de modèle après avoir été nettoyée par le package broom, beaucoup plus agréable et plus facile à travailler:

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

Et voici comment vous écririez cette trame de données au format CSV:

write.csv(tidy_lmfit, "tidy_lmfit.csv")
25
Ben