Sequence creation in R

Let's say I created two vectors of type:

Ncla = 10
CC.1 = seq(2,((Ncla *Ncla)-Ncla),(Ncla+1))
CC.2 = seq(Ncla,((Ncla *Ncla)-Ncla),(Ncla))

      

and I tried to create the following sequence:

#[1]  2  3  4  5  6  7  8  9 10 13 14 15 16 17 18 19 20 24 25 26
# 27 28 29 30 35 36 37 38 39 40 46 47 48 49 50 57 58 59 60 68 69 70 79 80 90

      

using the instruction:

for(i in 1:(Ncla-1)) A.1[i]={c(seq(CC.1[i],CC.2[i],length = 1))}

      

but that won't work.

Any help is greatly appreciated.

+3


source to share


2 answers


test<-NULL
for(i in 1:(Ncla-1)) {
  A.1=c(seq(CC.1[i],CC.2[i],1))
  test<-c(test,A.1)
}

test

      



Your mistake: you did not save your results.

+1


source


Try

 unlist(Map(seq, CC.1, CC.2))
 # [1]  2  3  4  5  6  7  8  9 10 13 14 15 16 17 18 19 20 24 25 26 27 28 29 30 35
 #[26] 36 37 38 39 40 46 47 48 49 50 57 58 59 60 68 69 70 79 80 90

      

or



 unlist(sapply(seq_along(CC.1), function(i) seq(CC.1[i], CC.2[i])))

      

or



 A.1 <- list()
 for(i in seq_along(CC.1)) A.1[[i]] <- seq(CC.1[i], CC.2[i])
 unlist(A.1)
# [1]  2  3  4  5  6  7  8  9 10 13 14 15 16 17 18 19 20 24 25 26 27 28 29 30 35
#[26] 36 37 38 39 40 46 47 48 49 50 57 58 59 60 68 69 70 79 80 90

      

+3


source







All Articles