2012-02-06 58 views
4

我正在爲不同公司建模大量數據,並且我需要快速識別那些最重要的模型參數。我想看到的是xtable()輸出爲一個擬合模型,它按照p值遞增的順序排列所有係數(即最重要的參數在先)。從glm模型摘要中按p值排序xtable()輸出

x <- data.frame(a=rnorm(100), b=runif(100), c=rnorm(100), e=rnorm(100)) 
fit <- glm(a ~ ., data=x) 
xtable(fit) 

猜測,我或許可以通過與fit對象的結構搞亂來完成這樣的事情。但我對結構不夠熟悉,無法自信地改變任何事情。

對此提出建議?

+0

'STR()'是你的朋友,當你想檢查R對象。 :-) – chl 2012-02-06 22:09:15

回答

6

並不一定是最優雅的解決方案,但應該做的工作:

data(birthwt, package="MASS") 
glm.res <- glm(low ~ ., data=birthwt[,-10]) 
idx <- order(coef(summary(glm.res))[,4]) # sort out the p-values 
out <- coef(summary(glm.res))[idx,]  # reorder coef, SE, etc. by increasing p 
library(xtable) 
xtable(out) 

enter image description here

+3

似乎合理直接。正確使用提取器功能。什麼是不喜歡? – 2012-02-06 22:05:37

+0

正是我想要的。謝謝你。 – 2012-02-06 22:13:47