R studio "Ошибка, если пропущено значение там, где требуется TRUE / FALSE" и предупреждение "In if (col.names) d [[2L]] else NULL" - PullRequest
0 голосов
/ 24 января 2020

У меня есть огромный набор данных с несколькими столбцами, представляющими экспрессию данного гена в определенной c ткани. Набор данных выглядит следующим образом с 74 440 генами:

Data sample

Я пытаюсь найти гены, которые имеют очень специфический c паттерн экспрессии и, следовательно, я Я использую несколько & & операторов в команде if в коде ниже. По сути, я пытаюсь найти гены, которые соответствуют точным значениям, которые я ввел в команду if. Любые гены, которые соответствуют этому критерию, будут добавлены в новый файл, который называется Ovaries_only.

Приведенный пример данных в точности показывает, как выглядит файл Excel, и строк намного больше, чем показано. Я пытаюсь увидеть, превышает ли значение в 18-м столбце 100, а остальные столбцы ниже заданного значения. Исходя из этого, я пытаюсь добавить всю строку, которая соответствует критериям, в новый файл.

Когда я запускаю код, я получаю сообщение об ошибке «Ошибка, если пропущено значение там, где необходимо ИСТИНА / ЛОЖЬ» а также несколько предупреждений «In if (col.names) d [[2L]] else NULL: условие имеет длину> 1, и будет использоваться только первый элемент»

Не могли бы вы сказать мне, что я делаю? неправильно.


counter = TRUE
i = 1

while (counter == TRUE) {

 if( (data[i,3] < 10) && (data[i,4] < 10) && (data[i,5] < 10) && (data[i,6] < 5) && (data[i,7] < 5) && 
    (data[i,8] < 5) && (data[i,9] < 5) && (data[i,10] < 5) && (data[i,11] < 5) && (data[i,12] < 5) && 
    (data[i,13] < 5) && (data[i,14] < 5) && (data[i,15] < 5) && (data[i,16] < 5) && (data[i,17] < 5) && (data[i,18] > 100) && (data[i,19] < 50) ){

   df = data[i, ]

   write.table(df, "ovaries_only.csv", sep = ",", row.names = FALSE, col.names = !file.exists("ovaries_only.csv", append = TRUE))

   i = i + 1

   if (i == 74440){
       counter == FALSE
     }

 }  

 else{
   i = i+1
   if (i == 74440){
     counter == FALSE
   }
 }

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