我想使代码更高效。基于其他矢量的矢量创建和修改
该示例创建一个向量(称为'new_vector')。这个'new_vector'的值根据if/else条件改变,这些条件引用了另外三个相同长度的向量的值。
如果条件满足,则使用来自其他向量之一的值(在M_date的示例元素中写入new_vector)更新'new_vector'的相应元素。
下面是示例代码:
new_vector<-c(9,9,9)
S_date<-c(1,1,as.Date('2010/08/01'))
V_date<-c(1,as.Date('2010/09/01'),1)
M_date<-c(2,as.Date('2010/07/01'),1)
for (i in 1:3) {
if ((S_date[i]==1) & (V_date[i]==1 | M_date[i] < V_date[i])) {
new_vector[i]<-M_date[i]
}
}
的例子的结果是:
> new_vector
[1] 2 14791 9
的例子被简化并且在现实的载体是较大的和有附加的if/else-条件。
如何避免循环并使用隐式方法进行向量操作?
这工作得很好。谢谢! – John
只是想补充一点,我明白你也提供了关于你的代码如何工作的解释。 – John