我们可以使用一个方便的功能,stars.pval从gtools做这个
library(gtools)
library(broom)
library(dplyr)
data(mtcars)
mtcars %>%
lm(mpg ~ wt + qsec, .) %>%
tidy %>%
mutate(signif = stars.pval(p.value))
# term estimate std.error statistic p.value signif
#1 (Intercept) 19.746223 5.2520617 3.759709 7.650466e-04 ***
#2 wt -5.047982 0.4839974 -10.429771 2.518948e-11 ***
#3 qsec 0.929198 0.2650173 3.506179 1.499883e-03 **
Run Code Online (Sandbox Code Playgroud)
这不是真的目的tidy。它用于从各种对象中整理数据帧,而不是提供有关那些对象的其他度量。
您始终可以编写一个函数来根据p值生成星标,并使用生成的数据框添加一列tidy。例如:
make_stars <- function(pval) {
stars = ""
if(pval <= 0.001)
stars = "***"
if(pval > 0.001 & pval <= 0.01)
stars = "**"
if(pval > 0.01 & pval <= 0.05)
stars = "*"
if(pval > 0.05 & pval <= 0.1)
stars = "."
stars
}
Run Code Online (Sandbox Code Playgroud)
然后是这样的:
library(broom)
library(dplyr)
mtcars %>%
lm(mpg ~ wt + qsec, .) %>%
tidy() %>%
mutate(signif = sapply(p.value, function(x) make_stars(x)))
term estimate std.error statistic p.value signif
1 (Intercept) 19.746223 5.2520617 3.759709 7.650466e-04 ***
2 wt -5.047982 0.4839974 -10.429771 2.518948e-11 ***
3 qsec 0.929198 0.2650173 3.506179 1.499883e-03 **
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
555 次 |
| 最近记录: |