你好请找下面提到的代码。我想要的是根据我想要进行的某些条件检查为我的数组添加值。如果值合格,那么他们应该添加到数组,否则应该丢弃它们。但是,我无法获得所需的数组。在这方面的任何帮助都将有很大帮助。我是埃克塞特大学的学生。
Y<-
>NODE_1
[1] GTTGGCCGAGCCCCAGGACGCGTGGTTGTTGAACCAGATCAGGTCCGGGCTCCACTGCACGTAGTCCTC
>NODE_2
[1] CCTCCGGCGGCACCACGGTCGGCGAGGCCCTCAACATCCTG GAGCGCACCGACCTGTCCACCGCGGACAAGGCCGGTTACCT
GCACCGCTACATCGAGGCCAGCCGCATCGCGTTCGCGGACC GCGGGCGCTGGGTCGGCGACCCCGCCTTCGAGGACGTACCG
>NODE_3
[1]GCCCGGCGCCTGGCCGCGGGCGAGTGGGTCGTGGACCTGCGCTCCCGGGTGGCCTTCGCCGCCGGTCACGTCGCCGGG
TCGCTCAACTTCGAGGCCGACGGACAGCTCGCGACCTACCTGGCCTGGCTGATCCCCTGGGGCAGGCCGGTGACGCTG
CTGGCGCACAGTGCCGACGACCTGGCCCGCGCCCAGCGCGAGCTGGCCCGGGTGGGCATCGA
我的代码是:
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)
所以我想做的是只将那些数据从Y长度小于30的数组添加到数组b。
答案 0 :(得分:1)
也许我不确切地知道你要求的是什么,但你可以尝试以下方法。
# set up some data
Y <- list()
Y$NODE_1 <- "GTTGGCCGAGCCCCAGG" # truncated to give example < 30
Y$NODE_2 <- "CCTCCGGCGGCACCACGTCGGCGAGGCCCTCAACATCCTGAGCGCACCGACCTGTCCACCGCGGACAAGGCCG"
Y$NODE_3 <- "CCCGGCGCCTGGCCGGGGCGAGTGGGTCGTGGACCTGCGCTCCCGGGTGGCCTTCGCCGCCGGTCACGTCGCC"
Y$NODE_4 <- "GCCCGGCGCCTG" # another example < 30
#
b <- Y[nchar(Y) < 30] # index directly with logical vector
b
$NODE_1
[1] "GTTGGCCGAGCCCCAGG"
$NODE_4
[1] "GCCCGGCGCCTG"