楼主: mosaic33
1292 3

[实际应用] sample函数的一个bug [推广有奖]

  • 0关注
  • 0粉丝

初中生

4%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1499 点
帖子
6
精华
0
在线时间
10 小时
注册时间
2016-5-26
最后登录
2021-12-4

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
想请教,当查看sample函数的例子时,发现有一个bug,即生成的一个长度为10的样本,这是为什么呀?谢谢~

# sample()'s surprise:

x <- 1:10   
sample(x[x >  8]) # length 2   
sample(x[x >  9]) # oops -- length 10!   
sample(x[x > 10]) # length 0


## safer version:
resample <- function(x, ...) x[sample.int(length(x), ...)]
resample(x[x >  8]) # length 2
resample(x[x >  9]) # length 1
resample(x[x > 10]) # length 0





二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Sample AMPL amp bug SAM surprise version 样本

回帖推荐

jiangbeilu 发表于3楼  查看完整内容

实际上就是: 生成10个随机数,没有问题的
沙发
mosaic33 发表于 2016-5-26 17:14:03 |只看作者 |坛友微信交流群
实际生成sample时是下面这样的

> x <- 1:10   
> sample(x[x >  8])
[1] 10  9
> sample(x[x >  9])
[1]  6  5  4  2  1  3  9  8 10  7

使用道具

藤椅
jiangbeilu 学生认证  发表于 2016-5-26 17:45:32 |只看作者 |坛友微信交流群
  1. sample(x[x>9])
复制代码

实际上就是:
  1. sample(10)
复制代码

生成10个随机数,没有问题的

使用道具

板凳
mosaic33 发表于 2016-5-26 18:06:24 |只看作者 |坛友微信交流群
jiangbeilu 发表于 2016-5-26 17:45
实际上就是:

生成10个随机数,没有问题的
谢谢!刚刚试了一下,确实。sample(c(10))是生成10个随机数,这种只有一个元素的情况应该就变成是sample(10)了。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-18 01:04