【发布时间】:2025-12-25 11:30:16
【问题描述】:
我创建了具有以下结构的向量:
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 的第 8 个元素在 full_seq 的边界之外,并且没有成为拆分对象的成员。
我不知道这是否是更好的表示,但我尝试了一些解决方案但没有成功。
有什么帮助吗?
非常感谢。
【问题讨论】:
-
什么是
full_along? -
如果您减少样本(10^8 似乎不是最小的),您可以为您的示例提供所需的输出,这将更容易提供帮助。另请注意,在使用随机数生成/采样时应使用
set.seed(somenumber)以使其可重现。 -
如果我正确理解了您的问题,直觉上我会将您的向量重塑为一个矩阵(
ncol等于您的样本的所需大小),然后选择适当的行,但我不明白full_along是什么以及你想要什么,所以... -
@ztl 对不起,输入错误 seq_along 是对的...
-
@docendodiscimus 好的,我了解随机数生成的原理,我只是在这里复制我的问题部分。将序列拆分为 n 个相同大小的子序列,并按固定数量的元素从一个子序列跳到另一个子序列。即:10.