如何在R中输入数组

时间:2011-08-04 19:06:02

标签: r

你好请找下面提到的代码。我想要的是根据我想要进行的某些条件检查为我的数组添加值。如果值合格,那么他们应该添加到数组,否则应该丢弃它们。但是,我无法获得所需的数组。在这方面的任何帮助都将有很大帮助。我是埃克塞特大学的学生。

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。

1 个答案:

答案 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"