【发布时间】:2012-07-27 19:05:24
【问题描述】:
我正在尝试遍历一个向量并编辑一个新向量,但是我不断收到错误替换的长度为零。发生错误的部分在这里:
NewPos1 = rep(NROW(sig_decision))
for( i in 2:length(NewPos)) {
NewPos1[i] = ifelse( NewPos[i] == 0 & NewPos[i-1] == 1 & ind1[i] > 0 , 1,
ifelse(NewPos[i] ==0 & NewPos[i-1] == -1 & ind1[i] < 0 , -1,0))
}
可以说的更具体一些
我哪里错了?
编辑:我应该更具体地说 ind1 是一个数字向量。我想要一个循环的原因是,如果 NewPos(NewPos[1]) 的前一个元素是 1 并且 ind1[2] > 0,那么从 NewPos1([NewPos[1]) 中的第二个元素开始,那么我想要 NewPos1[ 2] 为 1,以此类推遍历整个向量,因此如果 ind1[3] >0,则 NewPos1[3] 也为 1
【问题讨论】:
-
我不知道这些变量是什么。
-
sig_decision是什么?什么是NewPos,因为您只定义了NewPos1。同时,检查switch而不是嵌套几十个if else元素。 -
参见tinyurl.com/reproducible-000关于可重复性...