Мне нужно построить матрицу зависимостей со всеми 91 переменной моего набора данных.
Я пытался использовать некоторые коды, но мне это не удалось.
Здесь вы являетесь частью важных кодов:
p<- length(dati)
chisquare <- matrix(dati, nrow=(p-1), ncol=p)
Он должен создать квадратную матрицу со всеми переменными
system.time({for(i in 1:p){
for(j in 1:p){
a <- dati[, rn[i+1]]
b <- dati[, cn[j]]
chisquare[i, (1:(p-1))] <- chisq.test(dati[,i], dati[, i+1])$statistic
chisquare[i, p] <- chisq.test(dati[,i], dati, i+1])$p.value
}}
})
Это должно относиться к "p«переменные, чтобы проанализировать, зависят ли они друг от друга
Error in `[.data.frame`(dati, , rn[i + 1]) :
not defined columns selected
Moreover: There are 50 and more alerts (use warnings() to read the first 50)
Timing stopped at: 32.23 0.11 32.69
warnings() #let's check
>: In chisq.test(dati[, i], dati[, i + 1]) :
Chi-squared approximation may be incorrect
chisquare
# все ячейки (если только в последнем столбце, который, кажется, имеет p-значения), имеют одинаковые значения по строке
Я также попробовал другой способ, который мне предоставил кто-то, кто знает, как управлять R намного лучше меня:
#strange values I have in some columns
sum(dati == 'x')
#replacing "x" by x
x <- dati[dati=='x']
#distribution of answers for each question
answers <- t(sapply(1:ncol(dati), function(i) table(factor(dati[, i], levels = -2:9), useNA = 'always')))
rownames(answers) <- colnames(dati)
answers
#correlation for the pairs
I<- diag(ncol(dati))
#empty diagonal matrix
colnames(I) <- rownames(I) <- colnames(dati)
rn <- rownames(I)
cn <- colnames(I)
#loop
system.time({
for(i in 1:ncol(dati)){
for(j in 1:ncol(spain)){
a <- dati[, rn[i]]
b <- dati[, cn[j]]
r <- chisq.test(a,b)$statistic
r <- chisq.test(a,b)$p.value
I[i, j] <- r
}
}
})
user system elapsed
29.61 0.09 30.70
There are 50 and more alerts (use warnings() to read the first 50)
warnings() #let's check
-> : In chisq.test(a, b) : Chi-squared approximation may be incorrect
diag(I)<- 1
#result
head(I)
Столбцы останавливаются на 5-й переменной, тогда как Мне нужно проверить зависимость между всеми переменными.Каждый.
Я не понимаю, где я не прав, но я надеюсь, что я не так далеко ...
Я надеюсь получить хорошийпомогите, пожалуйста.