楼主:
Wush978 (拒看低质媒体)
2017-06-23 15:34:34逆向思考全垒打
我把问题改一下。
如果我要从1:10中抽20个sample,并且要保证每一个资料都有抽到
我想到两种写法:
# 抽到符合条件为止
x <- sample(10, 20, TRUE)
while(length(unique(x)) != 10) {
x <- sample(10, 20, TRUE)
}
# 先保证1:10, 然后再抽
x <- c(1:10, sample(10, 10, TRUE))
## 如果顺序重要,则要再乱序一次
x <- sample(x, length(x), FALSE)
※ 引述《jas9441314 (jet B)》之铭言:
: [问题类型]:
:
: 程式咨询(我想用R 做某件事情,但是我不知道要怎么用R 写出来)
:
: [软件熟悉度]:
: 请把以下不需要的部份删除
: 入门(写过其他程式,只是对语法不熟悉)
: *[m
: [问题叙述]:
:
: 我想要从1:368个数字当中 根据每个数字出现的机率p=c(p1,p2,...,p368)抽取1次放回
: 希望1:368每个数字都能被抽中
: 然后重复抽10次这样的动作
: 但是目前抽出来有些情况只会抽出367个数字而非368个
: 想请问各位大大如何解决 感谢
:
: [程式范例]:
:
: replicate(10,saple(1:368,nrow(data),replace=TRUE,prob=p))
:
: [环境叙述]:
:
: 请提供 sessionInfo() 的输出结果,
: 里面含有所有你使用的作业系统、R 的版本和套件版本资讯,
: 让版友更容易找出错误
:
: [关键字]:
:
: 选择性,也许未来有用
: