Я сделал функцию с циклом for, с небольшими изменениями по этой ссылке.
http://www.sthda.com/english/wiki/visualize-correlation-matrix-using-correlogram
Эта функция возвращает значение p chisq.test
каждого теста.
cor.mtest <- function(mat) {
mat <- as.matrix(mat)
n <- ncol(mat)
p.mat<- matrix(NA, n, n)
diag(p.mat) <- 0
for (i in 1:(n - 1)) {
for (j in (i + 1):n) {
tmp <- chisq.test(mat[, i], mat[, j])
p.mat[i, j] <- p.mat[j, i] <- tmp$p.value
}
}
colnames(p.mat) <- rownames(p.mat) <- colnames(mat)
p.mat
}
pcat <- cor.mtest(data)
pcat
data
- это data.frame с 9 переменными. Я запустил функцию, и она сработала. Однако я обнаружил, что в некотором chisq.test произошла ошибка, так как его ожидаемое значение было менее 5 в 50% ячейки.
Warning message:
In chisq.test(mat[, i], mat[, j]) :
Chi-squared approximation may be incorrect
Я хочу выяснить, где произошла ошибка в процессе работы функции.
Спасибо за вашу помощь.