【发布时间】:2015-05-13 21:20:10
【问题描述】:
我们都知道,在 R 的 for 循环中将向量附加到向量是一件坏事,因为它会耗费时间。一种解决方案是以 vectorized 样式进行。 Here 是 Joshua Ulrich 的一个很好的例子。重要的是首先创建一个已知长度的向量,然后将其填充,而不是将每个新片段附加到循环中的现有片段。
不过,在他的示例中,他“仅”演示了如何一次附加一个数据。我现在正在与用向量填充向量而不是标量的想法作斗争。
假设我有一个长度为 100 的向量
vector <- numeric(length=100)
和一个较小的向量,可以将 10 次放入第一个向量中
vec <- seq(1,10,1)
在不使用 c() 或 append 的情况下,我将如何构建一个将较小向量添加到大向量的循环?
编辑:这个例子被简化了 - vec 并不总是由相同的序列组成,而是在 for 循环中生成,应该添加到向量中。
【问题讨论】:
-
将较小的向量添加到较大的向量中是什么意思?你想要的输出会是什么样子?换句话说,您是在寻找
vector + vec还是paste0(vector, vec)?目前还不是很清楚。 -
抱歉问题不清楚。原则上我会寻找一个重复的 c (vector, vec)。
标签: r vector vectorization