繁体   English   中英

R跳跃向量

[英]R split vector with jumps

我创建了具有以下结构的矢量:

full_seq <- runif(10^8)

我想生成一个新的向量,提取相同大小的样本。 这对我来说很好:

full_splited <- split(full_seq, ceiling(seq_along(full_seq)/10^3))

现在,我需要从一个固定块跳到另一个固定块。 让我们采用100个数字的序列,10个元素的样本和4个元素的跳跃来说明:

full_seq = 1 2 3 4 5 6 7 8 9 10 .. 100
full_splitted2 [1] = 1 2 3 4 5 6 7 8 9 10 
               [2] = 14 15 16 17 18 19 20 21 22 23 
               [3] = 27 28 29 30 31 32 33 34 35 36 
               [4] = 40 .. 49 
               [5] = 53 .. 62 
               [6] = 66 .. 75
               [7] = 79 .. 88

full_splited2第八届元素是full_seq的边界之外,并没有成为splited对象的成员。

我不知道这是否是更好的表示形式,但我尝试了一些解决方案,但均未成功。

有什么帮助吗?

非常感谢。

这是你想要的?

full_seq <- 1:100 
mysize <- 10
myjump <- 4

myseq <- seq(from=1, to=length(full_seq), by=myjump+mysize-1)
full_splitted2 <- c()
for (i in myseq) {
  if ((i+mysize-1) <= length(full_seq)) {
    full_splitted2 <- c(full_splitted2, full_seq[i:(i+mysize-1)])
  }
}
full_splitted2 <- matrix(full_splitted2, ncol=mysize, byrow=TRUE)

full_splitted2

[1,]    1    2    3    4    5    6    7    8    9    10
[2,]   14   15   16   17   18   19   20   21   22    23
[3,]   27   28   29   30   31   32   33   34   35    36
[4,]   40   41   42   43   44   45   46   47   48    49
[5,]   53   54   55   56   57   58   59   60   61    62
[6,]   66   67   68   69   70   71   72   73   74    75
[7,]   79   80   81   82   83   84   85   86   87    88

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM