Не совсем уверен, что вы хотите здесь.Спасибо за воспроизводимый пример: результат был
cc <- chisq.test(Oi,p=Ei,rescale.p=TRUE)
print(cc)
Chi-squared test for given probabilities
data: Oi
X-squared = 3090, df = 2, p-value < 0.00000000000000022
Проверка структуры объекта показывает, что значение p в этом случае снизилось до ровно нуля:
List of 9
$ statistic: Named num 3090
..- attr(*, "names")= chr "X-squared"
$ parameter: Named num 2
..- attr(*, "names")= chr "df"
$ p.value : num 0
$ method : chr "Chi-squared test for given probabilities"
$ data.name: chr "Oi"
$ observed : Named num [1:3] 321 712 44
..- attr(*, "names")= chr [1:3] "A" "B" "C"
$ expected : Named num [1:3] 922.5 127.2 27.3
..- attr(*, "names")= chr [1:3] "A" "B" "C"
$ residuals: Named num [1:3] -19.8 51.8 3.2
..- attr(*, "names")= chr [1:3] "A" "B" "C"
$ stdres : Named num [1:3] -52.29 55.2 3.25
..- attr(*, "names")= chr [1:3] "A" "B" "C"
- attr(*, "class")= chr "htest"
Я думаюесли вы хотите получить точное значение p из этого теста, вам нужно немного уйти с пути:
(pval <- pchisq(3090,2,lower.tail=FALSE,log.p=TRUE))
[1] -1545
Так что это примерно 10 ^ pval/log(10)
= 10 ^ (- 671) [минимум Rпредставимое значение обычно составляет около 1e-308, см. .Machine$double.xmin
]