Входной массив в R

Здравствуйте, пожалуйста, найдите ниже упомянутый код. Я хочу добавить значения в мой массив на основе определенных проверок условий, которые я хочу предпринять. Если значения являются приемлемыми, то они должны добавить в массив, иначе они должны быть отброшены. Тем не менее, я не могу получить необходимый массив. Любая помощь в этом отношении будет очень полезна.

>NODE_1
[1]GTTGGCCGAGCCCCAGGACGCGTGGTTGTTGAACCAGATCAGGTCCGGGCTCCACTGCACGTAGTCCTCTTCCCAATTTCCCTTAA

>NODE_2
[1] CCTCCGGCGGCACCACGGTCGGCGAGGCCCTCAACATCCTG GAGCGCACCGACCTGTCCACCGCGGACAAGGCCGGTTACCT
GCACCGCTACATCGAGGCCAGCCGCATCGCGTTCGCGGACC 

>NODE_3
[1]GCCCGGCGCCTGGCCGCGGGCGAGTGGGTCGTGGACCTGCGCTCCCGGGTGGCCTTCGCCGCCGGTCACGTCGCCGGG
   TCGCTCAACTTCGAGGCCGACGGACAGCT

Мой код:

Length <- function(a)
{
  b<-list()
  for ( i in 1: length(a))
  {
    b[i]<-which(length(a[i])<30, arr.ind = FALSE, useNames = TRUE)
    m<- array(b[i])
  }
}
k<- Length(Y)

Итак, что я хочу сделать, это добавить только эти данные в массив b от Y чья длина меньше 30

1 ответ

Ты должен использовать nchar() вместо length() чтобы получить количество символов.

И чтобы сделать это способом R, вы можете использовать логический индекс: k <- a[nchar(a)<30]

Надеюсь, это поможет!

Другие вопросы по тегам