для циклического прохода по строкам tibble работает правильно, но выдает значения для i - PullRequest
1 голос
/ 18 апреля 2019

Я пытаюсь написать цикл for в R, который создает диапазон чисел на основе значения в столбце 3 и проверяет, попадает ли значение в столбце 2 в этот диапазон.Для положительных результатов я хотел бы распечатать всю строку

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

вот мой текущийцикл for:

for(i in 1:nrow(df)) {
    low <- (df[[i, 3]] - 11)
    high <- (df[[i, 3]] + 11)

    if(df[[i, 2]] < high && df[[i, 2]] > low) {
    print(df[[i,]])
   }
}

упрощенный фрейм данных выглядит следующим образом:

df = data.frame(Gene = c("ABCA7", "AP1B1", "CENPE", "COPA", "COPA", "COPA", "ZNF592"), 
     Starting.Position = c(273, 188, 1541, 1207, 1207, 545, 1052), 
     Mutation = c(1293, 230, 2562, 792,792,792, 186))

Когда я запускаю этот цикл, ничего не выводится - что я считаю точным - ноВ моей рабочей области созданы три объекта: «высокий = 197, низкий = 175 и i = 6L».Не уверен, почему это происходит, и это беспокоит меня, хотел бы знать, почему, и я не могу найти никаких ошибок в моем коде.Эти значения являются циклом, работающим в последней строке фрейма данных.

Спасибо, я относительно новичок в использовании R.

1 Ответ

0 голосов
/ 18 апреля 2019

Как говорит @MrFlick, это потому, что вы создаете эти переменные в своем коде. Когда вы запускаете свой код, он создает выходные данные, которые хранятся в рабочей области (то есть в памяти), но ничего не выводится в терминал, поскольку результатом кода является пустое значение.

Здесь создаются переменные:

low <- (df[[i, 3]] - 11)
high <- (df[[i, 3]] + 11)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...