楼主: mosaic33
1550 3

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

  • 0关注
  • 0粉丝

初中生

4%

还不是VIP/贵宾

-

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

楼主
mosaic33 发表于 2016-5-26 17:02:54 |AI写论文

+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
拉您进交流群
GMT+8, 2025-12-22 09:44