在R中添加if ..... else

时间:2016-02-22 13:45:49

标签: r if-statement

我正在尝试将一个if条件应用于R中向量的每个元素,但似乎我做错了什么:

nobjects <- length(EMATRSTDV)
for (i in 1:nobjects) {
 if (MPEMAPlusDemiTR - EMATRSTDV > Cl(myData$AAPL)){
 ShortLevel <- MPEMAPlusDemiTR - EMATRSTDV
 } else {
 ShortLevel <- "..."
 }
}

我收到错误消息:

  

if中的错误(MPEMAPlusDemiTR - EMATRSTDV&gt; Cl(myData $ AAPL)){:     缺少需要TRUE / FALSE的值   另外:警告信息:   在if(MPEMAPlusDemiTR - EMATRSTDV&gt; Cl(myData $ AAPL)){:     条件的长度> 1,只使用第一个元素

1 个答案:

答案 0 :(得分:0)

  

条件的长度> 1,只使用第一个元素

好吧,从错误消息和计算length(EMATRSTDV)的代码中可以看出EMATRSTDV是一个向量。在条件中,您必须使用索引值

for (i in 1:nobjects) {
    if (MPEMAPlusDemiTR - EMATRSTDV[i] > Cl(myData$AAPL)){
        ShortLevel[i] <- MPEMAPlusDemiTR - EMATRSTDV[i]
    } else {
        ShortLevel[i] <- "..."
    }
}