在R中改变意义表示法
R具有确定统计显著性的显著性代码。例如,在下面的示例中,点在R中改变意义表示法,r,lm,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
表示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("***", "**", "*", " "))
mystarformat | t |)`)
麦考夫
}
然后使用您的模型,您可以使用
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 ***
mm | t |)符号
#(截距)0.2142857 0.6285895 0.340893 0.7447995
#x 0.9523810 0.1244793 7.6509206 0.0002604***
很抱歉回复太晚,但我找到了一个很好的解决方案。
只需执行以下操作:
install.packages("stargazer")
library(stargazer)
stargazer(your_regression, type = "text")
这将以您所需的格式以漂亮的方式显示所有内容。
注意:如果您离开
type=“text”
,则您将获得LaTeX代码 我们应该知道,stargazer软件包报告的显著性水平与其他统计软件(如STATA)不同
在R(stargazer)中,您将获得
#(*p它由统计信息打印::printCoefmat
并在其中硬编码这些值。您可以通过调用symnum()使用自己的符号格式化p值
但是summary.lm
的默认选项似乎不可配置。您真的要将这些结果粘贴到Excel中吗?糟糕。基本上是复制粘贴系数,然后使用“文本到列”功能,使一切整洁。感谢你建议symnum,我会检查一下。经常会有关于星星的问题,无论是在重新配置休息时间,还是在对他们过于自信。后一点是作为对过度或错误使用p值的警告。我甚至见过(非官方)提到试图从lm
摘要报告中删除它们,但我目前找不到这些参考。虽然可能性很小,但p值0将返回NA
(因为cut
默认情况下,断点在左侧闭合)。您可以通过将第一个切点从0更改为“较小的值”来缓解这种情况@r2evans我基本上也做了同样的事情stats:::printCoefmat
,所以我猜默认的print.summary.lm
也会有同样的问题。这是真的,很有道理。我想我的统计结果从来没有“非常显著”。@r2evans实际上mystarformat(0)
返回“***”所以我想这只是因为symnum
不同于cut
Ahhh,我看到了对any的引用(顺便说一句,您可以更改stargazer包中的截止值,使其与其他软件的输出相同,以防您与其他作者合作,例如:stargazer(output,output2,type=“html”,star.cutoffs=c(0.05,0.01,0.001))35; star.cutoffs默认为空
install.packages("stargazer")
library(stargazer)
stargazer(your_regression, type = "text")