J'utilise plotreg()
de la texreg
pour afficher les estimations de coefficients et d'IC, mais je constate que je n'ai pas été en mesure de reproduire une sortie graphique avec une mise en page similaire à celles réalisées par d'autres. Par exemple, en utilisant l'exemple de travail aquí :
# install.packages("texreg")
library(texreg)
# load example data
library(car)
prestige.dat <- data.frame(Prestige)
# standardizing the data
pres_mean <- mean(prestige.dat$prestige, na.rm = TRUE)
pres_sd <- sd(prestige.dat$prestige, na.rm = TRUE)
prestige.dat$prestige.std <- (prestige.dat$prestige - pres_mean) / pres_sd
inc_mean <- mean(prestige.dat$income, na.rm = TRUE)
inc_sd <- sd(prestige.dat$income, na.rm = TRUE)
prestige.dat$income.std <- (prestige.dat$income - inc_mean) / inc_sd
educ_mean <- mean(prestige.dat$education, na.rm = TRUE)
educ_sd <- sd(prestige.dat$education, na.rm = TRUE)
prestige.dat$education.std <- (prestige.dat$education - educ_mean) / educ_sd
# standardized regression
mod.std <- lm(prestige.std ~ income.std + education.std, data = prestige.dat)
# plot
plotreg(list(mod.std),
custom.coef.names = c("Intercept", "Income", "Education"),
custom.model.names = c("Model"),
reorder.coef = c(2, 3, 1),
lwd.vbars = 0)
En principe, je devrais produire quelque chose comme ça.
Je me demande s'il y a un moyen de retirer le cadre extérieur de mon plotreg
et mettre le titre ( Model
) sur le dessus du graphique (au lieu de le placer verticalement sur l'axe des y de gauche du graphique) ?
Il se peut aussi que les auteurs du paquet aient radicalement modifié le paramètre par défaut, de sorte que la disposition utilisée dans l'exemple de travail n'est plus disponible.
UPDATE
En suivant la recommandation de @IRTFM (changer le traçage theme()
), j'ai pu faire en sorte que la sortie graphique ressemble beaucoup à l'exemple de travail. Ainsi, le cadre a été supprimé et le titre principal se trouve maintenant au-dessus du graphique, mais je n'ai toujours pas pu définir la barre verticale de référence 0 comme une ligne solide (j'ai essayé d'utiliser la fonction [ref.line.par][4]
argument dans coefplot()
mais cela n'a pas fonctionné)
J'ai utilisé le code suivant :
plt <- plotreg(list(mod.std),
custom.coef.names = c("Intercept", "Income", "Education"),
custom.model.names = c("Model"),
reorder.coef = c(2, 3, 1),
lwd.vbars = 0)
library(ggplot2)
plt + ggtitle("Model") +
theme(panel.border=element_blank(), strip.text=element_text(size=12, colour="transparent"), strip.background=element_rect(colour="transparent", fill="transparent"), plot.title = element_text(hjust = 0.5))
Le résultat ressemble à ceci