Вложено в l oop через R, чтобы определить позицию DF при выполнении критериев - PullRequest
0 голосов
/ 29 марта 2020

Я запускаю вложенное значение для l oop с условием If, чтобы определить, какая корреляция в моей матрице выше 90% (.9) или меньше 100% (1). При запуске l oop, который я создал, он дает только следующий вывод:

R issue

Пожалуйста, смотрите мой код ниже:

colss = ncol(x)
rowss = nrow(x)

for (i in rowss){
 for (j in colss){
   if (x[i,j] > .9 || x[i,j] < 1){
    print(x[i,j])
  }
 }
}   

Есть ли способ получить позицию в DF, которая имеет необходимые значения (>. 9 || <1)? </strong>

Пример вывода:

[12] .90

[15] .92098

Раскрытие: я пытался смотреть на вопросы, похожие на мои, но ответы не давали полный смысл, так что, если вы могли бы, пожалуйста, замять это, я был бы признателен.

1 Ответ

0 голосов
/ 29 марта 2020

Чтобы получить позицию, соответствующую вашим критериям, попробуйте which

DF <- matrix(runif(20),4)
DF
#           [,1]      [,2]      [,3]      [,4]      [,5]
# [1,] 0.0794861 0.5229619 0.1095744 0.3804106 0.2984173
# [2,] 0.9484121 0.5484754 0.6794459 0.6099729 0.3454522
# [3,] 0.2310753 0.8656815 0.4991712 0.8683982 0.8322723
# [4,] 0.9121636 0.1028238 0.4266272 0.3025331 0.3265509

which(DF > 0.9 & DF < 1)
# [1] 2 4

which(DF > 0.9 | DF < 1)
#  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...