xtable
dans Sweave
fonctionne génial, mais fait une table par régression. Vous pouvez également lui fournir une trame de données, ce qui fait que j'ai été manuellement chargé dans les trames de données, mais cela ne semble pas très évolutif.Combinaison de plusieurs tables de régression en une pour utilisation dans xtable avec Sweave dans R
Existe-t-il une solution plus automatisée/robuste qui fonctionne comme xtable
, mais sur plusieurs objets lm
? Est-ce que toutes les tables que je vois dans les papiers/livres sont générées manuellement? Y at-il une meilleure solution à mon code janky qui génère une trame de données à nourrir à xtable
?
library(reshape2)
data <- data.frame(matrix(rnorm(50), 10, 5))
names(data) <- letters[1:5]
l.raw <- list()
l.raw[["a"]] <- lm(a ~ d + e, data=data)
l.raw[["b"]] <- lm(b ~ d + e, data=data)
l.raw[["c"]] <- lm(c ~ d + e, data=data)
form.table.from.lm <- function(l.raw) {
summ <- list()
for (i in names(l.raw)) {
temp <- coef(summary(l.raw[[i]]))
summ[[i]] <- data.frame(param=rownames(temp), test=i, temp)
}
df.res <- do.call("rbind", summ)
df.res <- transform(df.res, t.value = paste("(", signif(t.value), ")", sep=""), Estimate = signif(Estimate))
df.res.long <- melt(df.res, id.vars=c("test", "param"))
df.res.wide <- dcast(df.res.long, test + variable ~ param)
temp <- subset(df.res.wide, variable %in% c("Estimate", "t.value"))
df.res <- temp[, -2]
df.res[, 1] <- as.vector(rbind(names(l.raw), ""))
colnames(df.res)[1] <- "regressor"
return(df.res)
}
qui produit la trame de données:
regressor (Intercept) d e
1 a 0.393996 -0.666721 0.159508
2 (0.573926) (0.422125) (0.526446)
5 b 0.611077 0.0288942 -0.70033
6 (0.32696) (0.24048) (0.299911)
9 c -0.101033 -0.287821 0.14581
10 (0.203193) (0.149449) (0.186383)
Compte tenu des forfaits incroyables R Traçage, je me sens comme Google et rseek se cachent quelque chose de moi.
Merci! Cela devrait couvrir beaucoup de cas que je rencontre. –
Pour les personnes qui voient cela maintenant (beaucoup plus tard) ... il semble que Paul Johnson a maintenant combiné certains de ses nombreux extraits R (y compris l'exception) dans un paquet appelé "rockchalk". Documentation: http://pj.freefaculty.org/R/rockchalk.pdf – Pygmalion