我使用lm函数在R中运行了一个回归模型。生成的ANOVA表为我提供了每个系数的F值(对我来说没有意义)。我想知道的是每个系数的t统计量及其对应的p值。我如何得到它?它是由函数存储还是需要额外的计算?
下面是代码和输出:
library(lubridate)
library(RCurl)
library(plyr)
[in] fit <- lm(btc_close ~ vix_close + gold_close + eth_close, data = all_dat)
# Other useful functions
coefficients(fit) # model coefficients
confint(fit, level=0.95) # CIs for model parameters
anova(fit) # anova table
[out]
Analysis of Variance Table
Response: btc_close
Df Sum Sq Mean Sq F value Pr(>F)
vix_close 1 20911897 20911897 280.1788 <2e-16 ***
gold_close 1 91902 91902 1.2313 0.2698
eth_close 1 42716393 42716393 572.3168 <2e-16 ***
Residuals 99 7389130 74638
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
如果我的统计学知识正确的话,这些f值是没有意义的,理论上,我应该得到模型的F值和每个系数的T值。
5条答案
按热度按时间9udxz4iz1#
下面是一个示例,其中包含如何仅提取t值的注解。
xggvc2p62#
你可以试试这个:
to94eoyn3#
汇总(拟合)$p值的系数[,4]
汇总(拟合)$t值的系数[,3]
w3nuxt5m4#
正如Benjamin已经回答过的,我建议使用
broom::tidy()
将模型对象强制为一个整洁的 Dataframe ,统计列将包含相关的测试统计量,并且很容易使用ggplot2
绘图。ndh0cuux5#
你可以用这个
仅提取t值的步骤