问题
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