说我要制造三种尺寸的零件,每种尺寸都有一定的公差:

target <- c(2, 4, 6)
tolerance <- c(0.95, 1.05)

我要结束的是一个包含每个目标的公差极限的数组(即target * 0.95,target * 1.05):
tol = (2*0.95, 2*1.05, 4*0.95, 4*1.05, 6*0.95, 6*1.05)

这是到达那里的一种非常丑陋的方法,但是我知道有一种简单的方法可以做到这一点。
j<-1
tol<-NULL
for (i in target){
tol[j] <- i*tolerance[1]
tol[j+1] <- i*tolerance[2]
j<-j+2
}

最佳答案

可以使用tol计算矢量outer(),如下所示:

tol <- c(outer(tolerance,target))
#> tol
#[1] 1.9 2.1 3.8 4.2 5.7 6.3

07-24 09:52