簡體   English   中英

是否有將 p.value 轉換為顯着性代碼的 R 函數?

[英]Is there a R function that convert p.value to significance code?

summary顯示 p.values 的顯着性代碼。 是否有將 p.value 轉換為顯着性代碼的 R 函數? 例如: 0.02 --> '*'和 0.005 --> '**' ?

使用symnum如下所示。 ?symnum了解更多信息。

p.values <- c(9.5e-15, 0.02)
Signif <- symnum(p.values, corr = FALSE, na = FALSE, cutpoints = c(0, 
    0.001, 0.01, 0.05, 0.1, 1), symbols = c("***", "**", "*", ".", " "))

給予:

> str(Signif)
Class 'noquote'  atomic [1:2] *** *
  ..- attr(*, "legend")= chr "0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1"

上面的代碼在 R 本身的stats::printCoefmat (見?printCoefmat )中使用,它是從stats:::print.summary.lm 請注意,它生成了一個"noquote"類的對象,並且還在"legend"屬性中提供了一個圖例。

跟蹤summary使用的代碼,您可以在stats:::printCoefmat找到以下stats:::printCoefmat

Signif <- symnum(pv, corr = FALSE, na = FALSE, 
                 cutpoints = c(0, 0.001, 0.01, 0.05, 0.1, 1), 
                 symbols = c("***", "**", "*", ".", " "))

您可以創建自己的函數來執行此操作,例如

signif.num <- function(x) {
    symnum(x, corr = FALSE, na = FALSE, legend = FALSE,
           cutpoints = c(0, 0.001, 0.01, 0.05, 0.1, 1), 
           symbols = c("***", "**", "*", ".", " "))
}
signif.num(c(1e-8, 0.01, 0.05, 0.1, 0.2))

(注意最后一個值只是一個空格,在輸出中不可見)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM