比较r、while和if结构中的两个向量

比较r、while和if结构中的两个向量,r,if-statement,vector,while-loop,compare,R,If Statement,Vector,While Loop,Compare,我一直试图用while循环和if结构编写这个示例,但我没有做到这一点。我的synthax总是有问题 如果x1>=x2结果=1 否则结果=-1 x1 x2 result 5 7 -1 3 4 -1 7 2 1 如果有人能找到正确的synthax,我真的会非常感激我喜欢用dplyr来解决这些问题。我们可以用比使用循环更有效的方法来解决这个问题 # make up some data library(dplyr) mydat <- data.frame(x = seq

我一直试图用while循环和if结构编写这个示例,但我没有做到这一点。我的synthax总是有问题

如果x1>=x2结果=1 否则结果=-1

x1 x2 result
 5  7   -1
 3  4   -1
 7  2    1

如果有人能找到正确的synthax,我真的会非常感激我喜欢用
dplyr
来解决这些问题。我们可以用比使用循环更有效的方法来解决这个问题

# make up some data
library(dplyr)
mydat <- data.frame(x = seq(1:10), y = rev(seq(10:1)))


#calculate result

new_data <- mutate(mydat, result = ifelse(x >= y, "1", "-1"))
#编一些数据
图书馆(dplyr)

mydat有几种方法可以获得答案,它们都不需要while循环,因为矢量化的解决方案必须始终是最有趣的。我更喜欢的是:

result = (x1>=X2) -(x1<X2)
但如果你不喜欢使用数学,另一种纯粹的R方法是:

result = rep(1,length(x1))
result[x1<X2] = -1
result=rep(1,长度(x1))

结果[x1这里基本上有一个真/假二进制分割。
ifelse(x1>=x2,1,-1)
我想。或者只要
x1>=x2
就可以了,如果你能处理
TRUE/FALSE
输出。你能澄清这个问题吗?听起来你特别想要
while()
if()
显示在您的解决方案中,但获取结果列不需要这些内容(正如@thelatemail刚刚显示的)。如果您确实想使用
while()
,然后请提供一个非工作语法的示例。您能否指定数据的编码方式?它们是两个独立的向量,还是数据帧中已经有了它们,并且只希望添加一个新的“结果”列?
result = rep(1,length(x1))
result[x1<X2] = -1