In glm
, lm
and others function in r which produced pvalues, there are kindly printed. For example :
p found | p printed
--------- | -----
0.000032 | <0.001 ***
0.012322 | 0.012 **
0.233432 | 0.233
There must be a built-in function to produce this but I didn't achieve to find it. I search in the R documentation, Google and in SO without success. For the moment I use a hand-made function but I have to copy-paste it and call it each time I perform an analysis where I want to produce nice pvalue to output tables.
(I answer my own question thank's to @James comments.)
Use format.pval
with the right arguments. digits
and eps
are the most important.
Example :
pvalues <- c(0.99, 0.2, 0.32312, 0.0000123213, 0.002)
format.pval(pv = pvalues,
# digits : number of digits, but after the 0.0
digits = 2,
# eps = the threshold value above wich the
# function will replace the pvalue by "<0.0xxx"
eps = 0.001,
# nsmall = how much tails 0 to keep if digits of
# original value < to digits defined
nsmall = 3
)
# "0.990" "0.200" "0.323" "<0.001" "0.002"
format.pval
return a character vector.
To have the stars just use ifelse
or write a function
ifelse(pvalues < 0.05, "*", "")
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With