使用公差与for循环比较向量

使用公差与for循环比较向量,r,for-loop,if-statement,R,For Loop,If Statement,我有两个向量作为输出,它们有不同的长度。现在,我想比较一个向量的每个元素和另一个向量的每个元素 假设这是我的两个向量: r1 <- c(1.5,3.5,4.5,5.5,8.5,11.5,12.5,17.5) min <- c(3,6,11) 我现在要问的是,如何通过使用for循环(可能与if-else语句一起使用)来实现同样的功能?我已经想出了这个解决方案,但我不知道如何整合公差+/-0.5 z<-rep(0,length(r1)) for(i in 1:length(r1)

我有两个向量作为输出,它们有不同的长度。现在,我想比较一个向量的每个元素和另一个向量的每个元素

假设这是我的两个向量:

r1 <- c(1.5,3.5,4.5,5.5,8.5,11.5,12.5,17.5)
min <- c(3,6,11)
我现在要问的是,如何通过使用for循环(可能与if-else语句一起使用)来实现同样的功能?我已经想出了这个解决方案,但我不知道如何整合公差+/-0.5

z<-rep(0,length(r1))
for(i in 1:length(r1))
{
  for(j in 1:length(min))
  {
    if(x[j]>y[i])
      z[i]=z[i]+1
  }
}
在运行@shirin的代码后,我得到以下结果向量:

    V1   V2
1    2   1.5
出现此错误消息时:

rbindres中的错误,cbindmin[i],hc[abshc-min[i]下面是您想要的:

res<-NULL
for (i in 1:length(min)){
   res<-rbind(res,cbind(min[i],r1[abs(r1-min[i])<=0.5]))
}
res
#      [,1] [,2]
#[1,]    3  3.5
#[2,]    6  5.5
#[3,]   11 11.5
 min
[1]  2 15
 r1
[1]  1.5  3.5  4.5  5.5  8.5 11.5 12.5 17.5
    V1   V2
1    2   1.5
res<-NULL
for (i in 1:length(min)){
   res<-rbind(res,cbind(min[i],r1[abs(r1-min[i])<=0.5]))
}
res
#      [,1] [,2]
#[1,]    3  3.5
#[2,]    6  5.5
#[3,]   11 11.5