Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中使用带有向量条件的if/ifelse语句_R_If Statement_Vector - Fatal编程技术网

在R中使用带有向量条件的if/ifelse语句

在R中使用带有向量条件的if/ifelse语句,r,if-statement,vector,R,If Statement,Vector,我试着为这个问题寻找答案,但我不确定我在搜索栏中问的问题是否正确,所以它来了。我想创建一个if或ifelse语句,其中包含基于两个向量的逻辑条件 以下是代码的简化版本: ifelse(Vector1 == c(T,T,T),"Combo1","Combo2") 我创建了一个名为Vector1的向量。其当前值为[tf]。在上面的例子中,我希望输出Combo2的值。相反,我得到的向量是[Combo1 Combo1 Combo2]。所以我看到它正在将这些值传递到一个向量中,但是我希望ifelse语句

我试着为这个问题寻找答案,但我不确定我在搜索栏中问的问题是否正确,所以它来了。我想创建一个if或ifelse语句,其中包含基于两个向量的逻辑条件

以下是代码的简化版本:

ifelse(Vector1 == c(T,T,T),"Combo1","Combo2")
我创建了一个名为Vector1的向量。其当前值为[tf]。在上面的例子中,我希望输出Combo2的值。相反,我得到的向量是[Combo1 Combo1 Combo2]。所以我看到它正在将这些值传递到一个向量中,但是我希望ifelse语句传递一个TRUE或FALSE值来获得一个组合值

[T/F T/F T/F]有8种组合,因此我试图将其中几个ifelse语句嵌套在一起,但我想我应该从简单开始

我也尝试过使用if语句,但这似乎对我也不起作用


非常感谢您的帮助。

您也可以执行正常的if语句,因为它返回一个值:

my_result = if(all(Vector1 == c(T,T,T))) {"Combo1"} else {"Combo2"}
ifelse函数用于矢量化条件语句


通过使用标准if语句,可以消除潜在的歧义/误解,因为标准if只计算一个条件

您也可以执行普通的if语句,因为它返回一个值:

my_result = if(all(Vector1 == c(T,T,T))) {"Combo1"} else {"Combo2"}
ifelse函数用于矢量化条件语句


通过使用标准if语句,可以消除潜在的歧义/误解,因为标准if只计算一个条件

From?ifelse:返回一个与test形状相同的值。这就是为什么返回的向量与Vector1的形状相同。除了“test”是逻辑向量之外。所以它和矢量1的形状不一样。。。它的形状与Vector1==cT,T,T的形状相同,并且这个形状是[1]真-假。诚然,对逻辑向量的测试(每个为真)将是向量本身,但“test”对象不是jsut Vector1,而是==运算符的结果。from?ifelse:返回与test形状相同的值。这就是为什么返回的向量与Vector1的形状相同。除了“test”是逻辑向量之外。所以它和矢量1的形状不一样。。。它的形状与Vector1==cT,T,T的形状相同,并且这个形状是[1]真-假。诚然,对逻辑向量的测试(每个为真)将是向量本身,但“测试”对象不是jsut Vector1,而是来自==运算符的结果。