Chi-square p value matrix in r

无人久伴 提交于 2019-12-19 04:22:33

问题


Is there any way to find the chi-square p-value matrix in 'R' (a matrix with the p-values between the attributes)?

As an example, consider the the iris data set. I am looking for a matrix as follows:

|                | Sepal length | Sepal width | Petal length | Petal width | Species |
|----------------|--------------|-------------|--------------|-------------|---------| 
| Sepal length   |              |             |              |             |         |
| Sepal width    |              |             |              |             |         |
| Petal length   |              |             |              |             |         |
| Petal width    |              |             |              |             |         |
| Species        |              |             |              |             |         |

The elements of the matrix would be the chi square values for the (i,j) variables of the iris data set.


回答1:


If that is what you want considering only one of those columns is a categorical variable, Try this:

chisqmatrix <- function(x) {
  names = colnames(x);  num = length(names)
  m = matrix(nrow=num,ncol=num,dimnames=list(names,names))
  for (i in 1:(num-1)) {
    for (j in (i+1):num) {
      m[i,j] = chisq.test(x[,i],x[,j],)$p.value
    }
  }
  return (m)
}
mat = chisqmatrix(iris)


来源:https://stackoverflow.com/questions/32732582/chi-square-p-value-matrix-in-r

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!