Матрица значений хи-квадрат p в r

Есть ли способ найти матрицу p-значений хи-квадрат в 'R' (матрица с p-значениями между атрибутами)?

В качестве примера рассмотрим набор данных iris. Ищу такую ​​матрицу:

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

Элементами матрицы будут значения хи-квадрат для переменных (i, j) набора данных iris.


person sindhu chowdary    schedule 23.09.2015    source источник
comment
Не могли бы вы показать ожидаемый результат?   -  person scoa    schedule 23.09.2015
comment
Длина чашелистиков Ширина чашелистиков Длина лепестков Ширина лепестков Виды Длина чашелистиков Ширина чашелистиков Длина лепестков Ширина лепестков Вид   -  person sindhu chowdary    schedule 23.09.2015
comment
Значения p должны быть между атрибутами, строки и столбцы - имена атрибутов   -  person sindhu chowdary    schedule 23.09.2015
comment
было бы яснее, если бы вы отредактировали свой вопрос с этой информацией и отформатировали этот вывод как матрицу   -  person scoa    schedule 23.09.2015
comment
Все они являются непрерывными переменными, и как вы можете выполнить критерий хи-квадрат? Вы можете сделать матрицу корреляции значений p.   -  person Veera    schedule 23.09.2015
comment
Есть ли способ получить матрицу корреляции значений p?   -  person sindhu chowdary    schedule 23.09.2015
comment
См. эту ветку (второе обращение Google для 'корреляции матрица в r ')   -  person Hip Hop Physician    schedule 23.09.2015


Ответы (1)


Если это то, что вы хотите, учитывая, что только один из этих столбцов является категориальной переменной, попробуйте следующее:

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)
person pcantalupo    schedule 23.09.2015