我试着寻找这个问题的答案,但我不确定我是否在搜索栏中正确地提出问题,所以就这样了。我想基于两个向量创建一个带有逻辑条件的if或ifelse语句。
以下是代码的缩写版本:
ifelse(Vector1 == c(T,T,T),"Combo1","Combo2")
我创建了一个名为“Vector1”的向量。它的值目前是[T T F]。所以在上面的例子中,我希望打印输出值“Combo2”。相反,我得到了[Combo1 Combo1 Combo2]的矢量。所以我看到它将这些值传递给向量,但我希望ifelse语句传递单个TRUE或FALSE值以获得单个“Combo”值。
有[T / F T / F T / F]的8种组合,所以我试图将其中几个ifelse语句嵌套在一起,但我想我开始很简单。
我也试过使用if语句,但这对我来说似乎也没有用。
我感谢任何帮助。
答案 0 :(得分:5)
你也可以做一个普通的if语句,因为它返回一个值:
my_result = if(all(Vector1 == c(T,T,T))) {"Combo1"} else {"Combo2"}
ifelse函数用于向量化条件语句。
通过使用标准if语句,您可以消除潜在的歧义/误解,因为标准如果仅评估一个条件。