2016-12-21 9 views
2

summaryは、p.valuesの重要度コードを表示します。重要度コードにp.valueを変換するR関数はありますか? 0.02 - >'*'および0.005 - >'**'p.valueを有意性コードに変換するR関数はありますか?

+0

'gtools'パッケージから' stars.pval(p.value) 'を試してください。 – etienne

+1

@ZheyuanLiのようなもの'cut '(x、breaks = c(0、0.001,0.01,0.05,0.1)、include.lowest = T、labels = c(' *** '、' ** '、' * '、'。 ' 、 '')) '? – mt1022

答えて

6

これを試してください。パッケージは使用されません。詳細については?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" 

上記のコードはstats:::print.summary.lmから呼び出されstats::printCoefmatにおけるR自体(?printCoefmatを試みる)に使用されます。クラス"noquote"のオブジェクトを生成し、"legend"属性の凡例も提供することに注意してください。 summaryで使用されるコードを追跡

3

、あなたが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)) 

として、それを行うには、独自の関数を作成することができます値はスペースだけで出力には表示されません)

関連する問題