【问题标题】:How to do a for loop with conditions in r如何在r中使用条件进行for循环
【发布时间】:2020-07-14 05:42:13
【问题描述】:
(i =="S"|| i =="T"){ if(result==0){fin="J"}
}else if (result==1){fin="Z"
}else if (result==2){fin="I"
}else if (result==3){fin="H"
}else if (result==4){fin="G"
}else if (result==5){fin="F"
}else if(result==6){fin="E"
}else if (result==7){fin="D"
}else if (result==8){fin="C"
}else if (result==9){fin="B"
}else if (result==10){fin="A"
}else{
print("IC is invalid")
}else if (i=="G"|| i =="F"){
if(result==0){fin="X"
}else if(result==1){fin="W"
}else if (result==2){fin="U"
}else if (result==3){fin="T"
}else if (result==4){fin="R"
}else if (result==5){fin="Q"
}else if (result==6){fin="P"
}else if (result==7){fin="N"
}else if (result==8){fin="M"
}else if (result==9){fin="L"
}else if (result==10){fin="K"
}else prin("FIN IS INVALID")
}else print("All is invalid")
}
print(fin)

我想在我的数据框中获取特定数字的特定字母

我得到的错误是:

如果 (结果 == 0) { : 条件的长度 > 1 并且只使用第一个元素

【问题讨论】:

  • 如果您提供最小可重现示例,我们可以更轻松地为您提供帮助,即我们可以轻松复制和运行的代码。
  • 错字:}else prin("FIN IS INVALID")!

标签: r loops for-loop


【解决方案1】:

也许你可以试试下面的代码

if (i %in% c("S", "T")) {
    if (result %in% 0:10) {
        fin <- c("J", "Z", "I", "H", "G", "F", "E", "D", "C", "B", "A")[result + 1]
    } else {
        print("IC is invalid")
    }
} else if (i %in% c("G", "F")) {
    if (result %in% 0:10) {
        fin <- c("X", "W", "U", "T", "R", "Q", "P", "N", "M", "L", "K")[result + 1]
    } else {
        print("FIN IS INVALID")
    }
} else {
    print("All is invalid")
}
print(fin)

【讨论】:

    猜你喜欢
    • 2017-12-27
    • 2019-04-04
    • 1970-01-01
    • 2021-07-27
    • 2019-07-28
    • 2015-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多