2017-04-07 3 views
1

の意義表記を変更する。たとえば、以下の例では、ドット.は10%のレベルで有意性を示します(下記のサンプル出力を参照)。Rは、統計的有意性を決定するために一定の有意性のコードを有するR

特に、Excelにコピーして貼り付けてTimes New Romanに表示すると、ドットが見えにくくなることがあります。 1%

で5%

  • *** =重要で

    • 10%で有意* =
    • ** =重要:私はそのようなことを変更したい

      私はこれを行う方法がありますか?

      > 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 
      
  • +1

    これは 'stats: :: printCoefmat'であり、そこに値がハードコードされています。あなたは 'symnum()'を呼び出すことによって独自のシンボルでp値をフォーマットすることができますが、 'summary.lm'のデフォルトオプションは設定可能ではないようです。あなたは本当にこれらの結果をExcelに貼り付けていますか?ヤック – MrFlick

    +0

    基本的に係数をコピーして貼り付け、次に「テキストを列に書き込む」機能を使ってすべてをきれいにします。 – wwl

    +0

    symnumを提案してくれてありがとう、私はそれをチェックします。 – wwl

    答えて

    4

    あなたは

    mystarformat <- function(x) symnum(x, corr = FALSE, na = FALSE, 
        cutpoints = c(0, 0.01, 0.05, 0.1, 1), 
        symbols = c("***", "**", "*", " ")) 
    

    を使用して独自の書式設定の関数を作成することができますし、独自の係数フォーマッタ

    show_coef <- function(mm) { 
        mycoef<-data.frame(coef(summary(mm)), check.names=F) 
        mycoef$signif = mystarformat(mycoef$`Pr(>|t|)`) 
        mycoef$`Pr(>|t|)` = format.pval(mycoef$`Pr(>|t|)`) 
        mycoef 
    } 
    

    を書くことができます。そして、あなたのモデルで、あなたは

    でそれを実行することができます
    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 *** 
    
    +0

    それはきちんとしています。どうもありがとう! – wwl

    +0

    非常にありそうもありませんが、a * p *値が0の場合は 'NA'が返されます(' cut'はデフォルトでブレークが左側で閉じられています)。最初のカットポイントを0から「less less」に変更することで軽減できます。 – r2evans

    +0

    @ r2evans私は基本的に 'stats ::: printCoefmat'と同じことをしましたので、デフォルトの' print.summary.lm'も同じ問題を抱えていると思います。 – MrFlick

    関連する問題