2017-05-08 7 views
0

私はRノートブックで多くの分析を繰り返し、各反復の信頼区間を取得しています。たびに、confintは「ノートの中に表示される出力として、プロファイルが完了するのを待っています...」を出力します。これを抑止できますか?どのように私はconfintを沈黙させるのですか?

次のコードは、コンソールとRStudioで回避したいメッセージを出力します。問題がある場合、私はRStudioのノートブックへの出力だけを気にします。

y = c(1,2,3,4,5,6,7,8,9,0) 
x = c(2,4,6,8,2,4,6,8,2,4) 
fit = glm(y ~ x) 
ci.05 = confint(fit, level=0.95)["x","2.5 %"] 
print(paste("The lower bound of the 95% CI is",ci.05)) 

答えて

2

は、これらのような問題を攻撃するための良い一般的な方法ですが、この特定のケースでは、あなたは直接confintにプロファイルオブジェクトを渡すことによって、メッセージの取り除くを取得することができます。元のコードの代わりに次の行を使用すると、出力はまったく異なりますが、あなたを煩わせるメッセージは表示されません。

ci.05 = confint(profile(fit), level=0.95)["x","2.5 %"] 
+0

非常に役に立ちます。この回答は、suppressMessages()よりも私の問題に対するより直接的な解決策であるようです。このようなプロファイルを明示的に呼び出すのが速く、遅く、書道的に優れているかどうかなど知っていますか?私は無意識のうちにconfintがちょうど場面の背後にあるプロフィールを呼び出していて、まったく同じことをしていると仮定していると思いますが、そうするメッセージがありますか? – mightypile

+0

これは私が通常やっていることではありませんが、ドキュメンテーションはメッセージを取り除くかどうかを調べるように私に導いてくれました。 confintはglmsのプロファイルを呼び出して、そのメッセージを表示するように見えます。スピードの違いは心配するものではないと私は思っていません(シミュレーションや何千何百万回の複製をしていない限り、それでも多くのことが得られるかどうかは分かりません)。このような明示的な主なメリットは、1)コンソールにメッセージが表示されないこと、2)必要に応じてプロファイリングをより詳細に制御できることです。 – Dason

+0

私は最近、私の環境をクリアしてすべてを再起動した後、UseMethod( "profile")のエラー:クラス "c( 'glm'、 'lm') "このコードを実行すると。しかし、confint(fit)を行った後、プロフィールは正常に動作します。プロファイルが最初に機能しない理由は何ですか? – mightypile

3

これはあなたが探しているものですか? MKOのソリューション@

suppressMessages(confint(fit, level=0.95)["x","2.5 %"]) 
+0

優秀!テストされ、働いています。ありがとう@mko – mightypile

関連する問題