В предыдущем посте объяснялось, как сделать цикл хи-квадрат в R для всех ваших пар данных: Анализ хи-квадрат с использованием цикла for в R .
Я хотел использовать этот код, чтобы сделать то же самое для корреляции Спирмена.
Я уже пытался изменить несколько переменных и смог вычислить корреляционные переменные Пирсона, используя этот код:
library(plyr)
combos <- combn(ncol(fullngodata),2)
adply(combos, 2, function(x) {
test <- cor.test(fullngodata[, x[1]], fullngodata[, x[2]])
out <- data.frame("Row" = colnames(fullngodata)[x[1]]
, "Column" = colnames(fullngodata[x[2]])
, "cor" = round(test$statistic,3)
, "df"= test$parameter
, "p.value" = round(test$p.value, 3)
)
return(out)
})
Но поскольку я работаю с данными по порядковой шкале, мне нужно использовать корреляцию Спирмена.
Я думал, что смогу получить эти данные, просто добавив команду method = "spearman", но это, похоже, не работает. Если я использую код:
library(plyr)
combos <- combn(ncol(fullngodata),2)
adply(combos, 2, function(x) {
test <- cor.test(fullngodata[, x[1]], fullngodata[, x[2]], method="spearman")
out <- data.frame("Row" = colnames(fullngodata)[x[1]]
, "Column" = colnames(fullngodata[x[2]])
, "Chi.Square" = round(test$statistic,3)
, "df"= test$parameter
, "p.value" = round(test$p.value, 3)
)
return(out)
})
Я получаю ответ:
Error in data.frame(Row = colnames(fullngodata)[x[1]], Column =
colnames(fullngodata[x[2]]), :
arguments imply differing number of rows: 1, 0
In addition: Warning message:
In cor.test.default(fullngodata[, x[1]], fullngodata[, x[2]], method = "spearman") :
Cannot compute exact p-values with ties
что я делаю не так?