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!
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")