为slidify生成回归表?

时间:2014-07-01 14:45:25

标签: r xtable slidify

为slidify生成漂亮的回归表的最佳方法是什么?

---
## Custom Tables

```{r, results = "asis", echo = FALSE}
library(xtable)
OLS <- lm(hp ~ wt, mtcars)
print(xtable(OLS), type="html", html.table.attributes='class=mytable', label ="OLS", digits = 3)
```

<style>
table.mytable {
  border: none;
  width: 100%;
  border-collapse: collapse;
  font-size: 45px;
  line-height: 50px;
  font-family: 'Ubuntu';'Trebuchet MS';
  font-weight: bolder;
  color: blue;
}

table.mytable tr:nth-child(2n+1) {
/*  background: #E8F2FF; */
  background: #FFFFFF;
}
</style>

我希望能够更改名称('常数'而不是拦截,'重量'而不是重量),添加观测数量,R平方,F统计等。

谢谢!

1 个答案:

答案 0 :(得分:0)

首先,

# Check what's inside your OLS object:
names(OLS)
 [1] "coefficients" 
 [2] "residuals"    
 [3] "effects"      
 [4] "rank"         
 [5] "fitted.values"
 [6] "assign"       
 [7] "qr"           
 [8] "df.residual"  
 [9] "xlevels"      
[10] "call"         
[11] "terms"        
[12] "model"        

# Look inside coeff:
names(OLS$coeff)
[1] "(Intercept)"
[2] "wt"         

# Rename:
names(OLS$coeff) <- c("Constant", "Weight")

# Check the new names:
names(OLS$coeff)
[1] "Constant" "Weight"

其次,可以以类似的方式找到R平方

summary(OLS)

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

Residuals:
    Min      1Q  Median 
-83.430 -33.596 -13.587 
     3Q     Max 
  7.913 172.030 

Coefficients:
            Estimate
(Intercept)   -1.821
wt            46.160
            Std. Error
(Intercept)     32.325
wt               9.625
            t value Pr(>|t|)
(Intercept)  -0.056    0.955
wt            4.796 4.15e-05

(Intercept)    
wt          ***
---
Signif. codes:  
  0 ‘***’ 0.001 ‘**’ 0.01
  ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 52.44 on 30 degrees of freedom
Multiple R-squared:  0.4339,    Adjusted R-squared:  0.4151 
F-statistic:    23 on 1 and 30 DF,  p-value: 4.146e-05

您可以str(summary(OLS))查看更多信息。因此:

 summary(OLS)$r.squared
[1] 0.4339488