R 随机抽样双回路
我想用频率R 随机抽样双回路,r,R,我想用频率j生成分数I(0:36)。我希望j循环是随机数。我所做的是: j<-1:70 for(i in 0:36) { for (j in 1:sample(j)) { print(i,j) } } j试试看 如果我理解正确,您希望将I中的每个元素从一次复制到70次(随机选择复制值的次数) i如果需要随机数,应该使用runif。它有最小/最大值来控制范围。您也可以使用sample,但最好使用sample.int(max,1) j您收到了什么错误消息?但是,print(i
j
生成分数I(0:36)
。我希望j
循环是随机数。我所做的是:
j<-1:70
for(i in 0:36) {
for (j in 1:sample(j)) {
print(i,j)
}
}
j试试看
如果我理解正确,您希望将I
中的每个元素从一次复制到70次(随机选择复制值的次数)
i如果需要随机数,应该使用runif
。它有最小/最大值来控制范围。您也可以使用sample
,但最好使用sample.int(max,1)
j您收到了什么错误消息?但是,print(i,k)
的意思是“用k个有效数字打印i”。您的意思是print(c(i,k))
?是的,您的代码工作正常。我的错误是警告消息说1:In 1:sample(j):数值表达式有23个元素:只有第一个使用了2:In 1:sample(j):数值表达式有17个元素:只有第一个使用了我想我没有意识到我需要使用k来使用第二个循环。非常感谢您让我了解这一点。由于示例(j)返回一个向量,并且1:n不喜欢这样,所以我仍然收到使用此解决方案的警告…@Tommy-是的,我很邋遢-我又来了<代码>1:sample(1:70)
至少应变成1:sample(70,1)
。
for(i in 0:36) {
for(k in 1:sample(70, 1)) {
print(c(i,k))
}
}
i <- 0:36
j <- 1:70
#number of times to replicate each i
times <- sample(j, length(i), replace=FALSE)
result <- rep(i, times)
j<-70
for(i in 0:36) {
for (k in 1:runif(1,1,j)) {
cat(i,k, "\n")
}
}