📜  提取 R 中向量的每个第 N 个元素(1)

📅  最后修改于: 2023-12-03 15:39:51.083000             🧑  作者: Mango

提取 R 中向量的每个第 N 个元素

在 R 中,我们可以使用索引来获取向量中的特定元素。但是,如果我们想要提取向量的每个第 N 个元素,该怎么办呢?在这里,我们将介绍如何使用R代码轻松提取向量中的每个第 N 个元素。

假设我们有以下向量:

vec <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

我们希望提取它的每个第 2 个元素。我们可以通过以下方式实现:

vec[seq(2, length(vec), 2)]

输出结果为:

[1] 2 4 6 8 10

我们使用 seq() 函数来创建一个序列包含从 2 开始,步长为 2,不超过向量长度的所有数字。 然后,我们通过将此序列用作索引来提取每个第 2 个元素。

另一种实现方式是使用 R 的循环语句,例如 for() 循环。例如:

results <- c()
for (i in seq(2, length(vec), 2)) {
  results <- c(results, vec[i])
}

我们创建一个空向量 results 用于存储我们提取的每个第 2 个元素。我们使用 for() 循环遍历从 2 开始并步长为2的序列。 在每个迭代中,我们使用索引 i 从向量中提取一个元素,并将其添加到结果向量中。

输出结果为:

[1] 2 4 6 8 10

无论您使用哪种方法,提取向量的每个第 N 个元素都是非常容易的。根据您的使用情况和问题的复杂程度,您可以选择使用索引或循环来实现此操作。

参考资料
  1. R documentation: Extract or replace every nth element in a vector
  2. R-bloggers: Extracting every nth element of a vector