【问题标题】:Creating a sequence in R [duplicate]在R中创建一个序列[重复]
【发布时间】:2014-11-10 18:09:38
【问题描述】:

假设我创建了两个向量,例如:

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

并且,我尝试创建以下序列:

#[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

使用语句:

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

但它不起作用。

非常感谢任何帮助。

【问题讨论】:

    标签: r


    【解决方案1】:

    试试

     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
    

    或者

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

    或者

     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
    

    【讨论】:

      【解决方案2】:
      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
      

      您的错误:您没有保存结果。

      【讨论】:

      • 谢谢,这是最好的答案。很抱歉之前没有回答,我有健康问题。现在我很好。再次感谢
      猜你喜欢
      • 1970-01-01
      • 2021-08-25
      • 1970-01-01
      • 2021-09-05
      • 1970-01-01
      • 2021-05-30
      • 2020-09-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多