x <- c(139,138,112,111)
y <- c(0.3,0.25,0.2,0.25)
a <- chisq.test(x,p=y)
print(a,digits=5)
あるいは単に
print(chisq.test(x,p=y),digits=5)
...与える:
Chi-squared test for given probabilities
data: x
X-squared = 5.1667, df = 3, p-value = 0.15999
オブジェクトを見ると、次のものchisq.test
が作成されます。
str(a)
クラスのものであることがわかりますhtest
。
したがって、質問は「htestでprintメソッドはどのように機能するのですか?」です。
?print
ジェネリック関数であるを見ると、いくつかのクラスにdigits=
引数があり、これが本当に必要なすべてであることがわかります。したがって、最初に提案したこと(私が行ったように)を推測できますが、クラスのものであることがわかります。 htest
、私たちはそれについて知ることができますgetAnywhere
:
getAnywhere(print.htest)
そして、それが入っているのを見るとstats
(とにかく最初の推測で明らかだったように)、次の方法でコードを見ることができたはずです。
stats:::print.htest
したがって、これらの最後の2つのいずれかは、それが何をするのか、また、を使用してその動作を変更する方法を正確に示しています。これprint
は、間違いなく「数字」引数があることがわかるためです。本当に気があれば、独自の関数を作成することもできます。