我想在R中创建两个向量,这两个向量包含在给定指定条件下从均匀分布中随机抽取的值,例如,如果向量A中的数字是<然后,矢量B中的数字应大于50。
我使用此代码,但它仅应用于向量的第一个元素
nrows = 20
A = NaN*matrix(1, nrows, 1)
B = NaN*matrix(1, nrows, 1)
repeat {
A[] = round(runif(nrows, 10, 100), digits =2)
B[] = round(runif(nrows, 10, 100), digits =2)
if(A > 50 & B > 50) {
break
}
}
答案 0 :(得分:0)
如果我正确理解了问题,这应该对你有用:
nrows = 20
A = NaN * matrix(1, nrows, 1)
B = NaN * matrix(1, nrows, 1)
for (i in 1:nrows) {
A[i] <- round(runif(1, 10, 100), digits = 2)
if (A[i] < 50) {
B[i] <- round(runif(1, 50, 100), digits = 2)
} else {
B[i] <- round(runif(1, 10, 100), digits = 2)
}
}