Цикл сравнения двух значений в R - PullRequest
0 голосов
/ 30 марта 2019

Зацикливаясь на частично заполненной корреляционной матрице (она была предварительно отфильтрована), я хочу сравнить дисперсии для двух переменных в цикле и сохранить переменную с наибольшей дисперсией в векторе.

Это захват корреляционной матрицы:

enter image description here

Отклонения были рассчитаны в отдельном кадре данных (var), и порядок отклонений совпадает с порядком переменных в матрице корреляции.

enter image description here

Фрагмент кода, который не работает, выглядит следующим образом:

vec <- c()

for (i in ncol(mcor)) {
  for (j in nrow(mcor)) {
    if (is.na(mcor[i,j])) {
      j = j+1      
    } else {
      if (var[j,2] > var[i,2]) {
        vec <- c(vec, var[j,2])
      } else {
        vec <- c(vec, var[i,2])
      }
    }
  }
}

1 Ответ

0 голосов
/ 30 марта 2019

Ваши петли не определены правильно.Попробуйте

for (i in 1:ncol(mcor)) {
  for (j in 1:nrow(mcor)) {
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...