как вернуть процесс 'функция с для цикла'? - PullRequest
0 голосов
/ 18 октября 2019

Я сделал функцию с циклом 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

Я хочу выяснить, где произошла ошибка в процессе работы функции.

Спасибо за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...