Я моделирую корреляционную матрицу, в которой 60 переменных соотносятся следующим образом:
- выше (0,6) для каждых двух переменных (1-2, 3-4... 59-60)
умеренный (0,3) для каждой группы из 12 переменных (1-12,13-24...)
mc <- matrix(0,60,60) diag(mc) <- 1 for (c in seq(1,59,2)){ # every pair of variables in order are given 0.6 correlation mc[c,c+1] <- 0.6 mc[c+1,c] <- 0.6 } for (n in seq(1,51,10)){ # every group of 12 are given correlation of 0.3 for (w in seq(12,60,12)){ # these are variables 11-12, 21-22 and such. mc[n:n+1,c(n+2,w)] <- 0.2 mc[c(n+2,w),n:n+1] <- 0.2 } } for (m in seq(3,9,2)){ # every group of 12 are given correlation of 0.3 for (w in seq(12,60,12)){ # these variables are the rest. mc[m:m+1,c(1:m-1,m+2:w)] <- 0.2 mc[c(1:m-1,m+2:w),m:m+1] <- 0.2 } }
Первый цикл работает хорошо, а вот второй и третий нет. Я получаю это сообщение об ошибке:
Error in `[<-`(`*tmp*`, m:m + 1, c(1:m - 1, m + 2:w), value = 0.2) :
subscript out of bounds
Error in `[<-`(`*tmp*`, m:m + 1, c(1:m - 1, m + 2:w), value = 0.2) :
subscript out of bounds
Я был бы очень признателен за любые подсказки, так как я не вижу, чтобы команды цикла превышали размеры матрицы. Заранее большое спасибо!