使用条件将矢量值赋值给变量

时间:2015-08-24 09:44:36

标签: r vector

如果我的数据中元素的组值等于向量中的观察数量(向量由2000个观察值组成,我确切地说,我尝试将向量(vector1)中的值赋给变量(var1)我的数据集中的组数量)。 所以我想将第一个向量观察分配给第1组中的所有观察结果,向第2组中的所有观察结果进行第二次观察,等等。

我可以找到一个适用于循环的解决方案,这不是很令人满意/高效,因为我的数据非常大..我的解决方案如下所示:

for (i in 1:length(vector1)) {
  mydata$var1[mydata$group==i] <- vector1[i]
}

我尝试使用额外的向量来解决它,该向量计算观察值和if函数。

vector2 <- seq(1, length(vector1), by = 1)
Mydata$var1 <- if (mydata$group==vector2) vector1 

但是,当然,矢量的行数与数据的行数不同,但不起作用。在循环函数中,我只需使用[i]来分配值。如果没有循环,我怎么能这样做?

0 个答案:

没有答案