Я запускаю этот l oop, чтобы обнаружить некоторые специфические c символьные элементы столбца фрейма данных для их перезаписи. Я хочу найти все элементы, соответствующие одному из этих шаблонов 'H309'
или 'H2020'
, и переписать их.
Все символы этого столбца следуют этому шаблону:
coord;number;strand;id;rate;name;tissue
В то время как те, у кого есть H309
или H2020
в качестве имени, представляют этот другой шаблон:
coord;rate;number;id;strand;name
Например:
seqnames Score
coord1;nb1;strand1;id1;rate1;X77I;bladder 1
coord2;nb2;strand2;id2;rate2;YH7;bone 2
coord3;rate3;nb3;id3;strand3;H309 3
coord4;nb4;strand4;id4;rate4;LÑB;brain 4
coord5;rate5;nb5;id5;strand5;H2020 5
. .
. .
. .
. .
Итак, я хочу, чтобы эти символы следовали образцу остальных, что я пытался сделать:
for (i in 1:nrow(df){
if (grepl("H309", df$seqnames[i]) == TRUE || grepl("H2020", df$seqnames[i]) == TRUE){
a = str_split(df$seqnames[i], ";")
df$seqnames[i] <- paste(a[[1]][1], a[[1]][3], a[[1]][5], a[[1]][4], a[[1]][2],a[[1]][[6]],'Lung', sep=';')
}
}
Проблема в том, что l oop работает только с H309
элементами, и не с H2020
.
Итак, теперь H309
образцов также представляют этот шаблон: coord;number;strand;id;rate;name;tissue
Хотя H2020
по-прежнему представляет другой образец: coord;rate;number;id;strand;name
Как я могу это решить?