> options(digits=5)
> x<-c(139,138,112,111)
> y<-c(0.3,0.25,0.2,0.25)
> chisq.test(x,p=y)
Chi-squared test for given probabilities
data: x
X-squared = 5.1667, df = 3, p-value = 0.16
命令options(digits=4)
无法使chisq.test的数字输出四个数字,怎样才能得到p值= 0.15997?
答案 0 :(得分:4)
您可以直接访问p值并根据需要对其进行舍入:
> chi_sq <- chisq.test(x,p=y)
> chi_sq$p.value
[1] 0.159992
> round(chi_sq$p.value, 5)
[1] 0.15999
答案 1 :(得分:1)
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
,你会看到一些类有digits=
参数,这就是你所需要的,所以你可以猜测我做的最初建议(正如我所做的那样),但是因为我们看到它是htest
类,我们可以通过getAnywhere
找到它:
getAnywhere(print.htest)
并且看到它在stats
中(无论如何都是明显的第一个猜测),我们也可以通过以下方式看到代码:
stats:::print.htest
因此,最后两个中的任何一个都显示了它的确切功能,以及如何使用print
修改其行为,因为您可以看到它肯定具有'digits'参数。如果你真的有心思,你甚至可以编写自己的函数。