r - 改变 R 中的重要性符号

标签 r lm

R 具有确定统计显着性的特定显着性代码。例如,在下面的示例中,点 . 表示 10% 级别的显着性(请参见下面的示例输出)。

很难看到点,尤其是当我复制粘贴到 Excel 并在 Times New Roman 中显示时。

我想改变它:

  • * = 10% 显着
  • ** = 5% 显着
  • *** = 1% 显着

我有办法做到这一点吗?

> y = c(1,2,3,4,5,6,7,8)
> x = c(1,3,2,4,5,6,8,7)
> summary(lm(y~x))

Call:
lm(formula = y ~ x)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.0714 -0.3333  0.0000  0.2738  1.1191 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   0.2143     0.6286   0.341  0.74480    
x             0.9524     0.1245   7.651  0.00026 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8067 on 6 degrees of freedom
Multiple R-squared:  0.907, Adjusted R-squared:  0.8915 
F-statistic: 58.54 on 1 and 6 DF,  p-value: 0.0002604

最佳答案

你可以创建自己的格式化函数

mystarformat <- function(x) symnum(x, corr = FALSE, na = FALSE, 
    cutpoints = c(0, 0.01, 0.05, 0.1, 1), 
    symbols = c("***", "**", "*", " "))

并且您可以编写自己的系数格式化程序

show_coef <- function(mm) {
     mycoef<-data.frame(coef(summary(mm)), check.names=F)
     mycoef$signif = mystarformat(mycoef$`Pr(>|t|)`)
     mycoef$`Pr(>|t|)` = format.pval(mycoef$`Pr(>|t|)`)
     mycoef
}

然后用你的模型,你可以运行它

mm <- lm(y~x)
show_coef(mm)
#              Estimate Std. Error   t value  Pr(>|t|) signif
# (Intercept) 0.2142857  0.6285895 0.3408993 0.7447995       
# x           0.9523810  0.1244793 7.6509206 0.0002604    ***

关于r - 改变 R 中的重要性符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43283048/

相关文章:

r - 仅使用 R 中的一个代码计算条件汇总统计量

r - 在 R 中将字符链作为带有参数的函数进行计算

html - 隐藏 R 中 Shiny 应用程序的 renderPrint 预标记输出

r - 抑制 R 中的 rgdal 警告

r - 从 lm 对象中提取因变量

r - 如何删除R中第n个分隔符之后的所有内容?

r - 生成漂亮的线性回归图(拟合线、置信度/预测带等)

r - 测试简单线性回归中的斜率是否等于 R 中的给定常数

python - 使用 rpy2 从回归中获取标准误差

r - 如何获得R中回归分析生成的四个图?