使用公差与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