R - 简单随机抽样

article/2025/9/16 15:40:24

本文使用的包

library(tidyverse)
library(moderndive)

使用的数据集,总共有2400个红球和白色球:

bowl

此处采用简单随机抽样,从2400个球中估算出红球所占比例。采用不同的抽取方法,一组是一次性抽取30个,重复1000次;一组是一次性抽取50个,重复1000次。重复1000次后,红色球稳定的概率,我们可以近似估计2400个红色球的概率。

# 重复抽取1000次,每次取出30个
sampling_30 <- bowl %>%rep_sample_n(size = 30, reps = 1000)# 计算红球的比例
sampling_red_30 <- sampling_30 %>%group_by(replicate) %>%summarise(red = sum(color == "red")) %>%mutate(prep_red = red / 30)# 画出每次抽样时红色球的概率分布
ggplot(sampling_red_30, aes(x = prep_red)) +geom_histogram(binwidth = 0.05, boundary = 0.5, color = "white") + labs(x = "proportion of 30 balls that were red", title = "30")

结果如下:

img

抽取50个:

# 重复抽取1000次,每次抽取50个
sampling_50 <- bowl %>%rep_sample_n(size = 50, reps = 1000)# 计算红球的比例
sampling_red_50 <- sampling_50 %>%group_by(replicate) %>%summarise(red = sum(color == "red")) %>%mutate(prep_red = red / 50)# 画出每次抽样时红色球的概率分布
ggplot(sampling_red_50, aes(x = prep_red)) +geom_histogram(binwidth = 0.05, boundary = 0.5, color = "white") + labs(x = "proportion of 50 balls that were red", title = "50")

结果如下:

img

抽取100个:

# 重复抽取1000次,每次抽取100个
sampling_100 <- bowl %>%rep_sample_n(size = 100, reps = 1000)# 计算红球的比例
sampling_red_100 <- sampling_100 %>%group_by(replicate) %>%summarise(red = sum(color == "red")) %>%mutate(prep_red = red / 100)# 画出每次抽样时红色球的概率分布
ggplot(sampling_red_100, aes(x = prep_red)) +geom_histogram(binwidth = 0.05, boundary = 0.5, color = "white") + labs(x = "proportion of 100 balls that were red", title = "100")

img

可以看出,随着每次抽样数量的增加(30、50、100),红球出现的概率越来越稳定。三个直方图显示的红球概率都集中在40%附近。

我们在通过标准差衡量验证一下,标准差数值不断减少。

summarise(sampling_red_30, sd = sd(prep_red))
summarise(sampling_red_50, sd = sd(prep_red))
summarise(sampling_red_100, sd = sd(prep_red))sd(30)  sd(50)   sd(100)<dbl>      <dbl>    <dbl>
1 0.0890      0.0657   0.0479

参考资料:https://moderndive.netlify.app/7-sampling.html#using-the-virtual-shovel-once


http://chatgpt.dhexx.cn/article/CkARBdAl.shtml

相关文章

随机抽样java_java实现从一个群体中随机抽样一定数量样本

说明 版权所有&#xff0c;仿冒必究 转载时请标明出处&#xff0c;尊重他人劳动成果&#xff0c;谢谢 此算法是我个人研究的&#xff0c;经过测试证明我的算法还是不错的。 PS&#xff1a;这里的时间可能有点偏小&#xff0c;实际用时是2秒左右&#xff0c;我没有去研究原因了。…

ArcGIS 分类随机抽样

前言 现有栅格分类图, 图中像素值代表分类编号, 取值范围为0~7。 要在每个类别中抽取100个点, 输出成带有类别的shape文件。 提取每类的随机点(流程图) 0 已有数据 一副栅格影像, 像素值代表该点的类别。 1 对类别进行循环 设置1~7的循环, 循环变量名为index。在之后的流…

java随机抽样算法_随机抽样一致性(RANSAC)算法详解

随机抽样一致性(RANSAC)算法能够有效的剔除特征匹配中的错误匹配点。 实际上&#xff0c;RANSAC能够有效拟合存在噪声模型下的拟合函数。实际上&#xff0c;RANSAC算法的核心在于将点划分为“内点”和“外点”。在一组包含“外点”的数据集中&#xff0c;采用不断迭代的方法&am…

SPSS——随机抽样

简单随机抽样 设定随机种子&#xff08;Transform→Random Number Generators&#xff09; 【方法一】 选择个案&#xff08;Data→Select Cases&#xff09; 将随机抽样的样本重新生成新的数据集&#xff0c;Approximately&#xff08;按百分比抽样&#xff09;&#xff0c;Ex…

excel如何随机抽样

目录 现成数据中取数——excel-数据-数据分析-抽样【方法】【案例】【步骤】【注意】 二维数据需要拍平&#xff0c;才能取数——利用power query【方法】【案例】【步骤】 现成数据中取数——excel-数据-数据分析-抽样 【方法】 非数值型数据&#xff1a;1&#xff09;先生成…

【抽样技术】CH2 简单随机抽样

目录 前言 一、定义 二、概述 1.总体 2.单元 3.抽样比 4.样本抽取原则 5.在抽样理论中的地位与作用 三、参数估计 1.参数表示 2.对总体特征的估计思路 3.对总体均值的估计 &#xff08;1&#xff09;引理 &#xff08;2&#xff09;对总体均值的估计 4.方差和协方…

Pytorch随机抽样

在神经网络中&#xff0c;参数默认是进行随机初始化的。如果不设置的话每次训练时的初始化都是随机的&#xff0c;导致结果不确定。如果设置初始化&#xff0c;则每次初始化都是固定的。

python random模块随机抽样专题

python random模块随机抽样专题 文章目录 1. 设置随机数种子 seed()2. random() 与 randint()3. sample()方法 无放回抽样4. choice() 与 choices() 有放回抽样5. shuffle()方法6. 猜拳小案例 python的random库&#xff0c;提供了很多随机抽样方法。             …

python 有放回随机抽取_Python 随机抽样

# -*- coding: utf-8 -*- import numpy import pandas data = pandas.read_csv( D:\\PDA\\4.9\\data.csv ) #设置随机种子 numpy.random.seed(seed=2) #按照个数抽样 data.sample(n=10) #按照百分比抽样 data.sample(frac=0.02) #是否可放回抽样, #replace=True,可放回, #rep…

pytorch 随机抽样

情形1&#xff08;按行随机排列&#xff09; import torch atorch.rand(3,5) print(a) aa[torch.randperm(a.size()[0])] print(a)情形2(按列排列&#xff09; aa[:,torch.randperm(a.size()[1])] print(a)结果如下 但是这里有一个问题&#xff0c;就是随机交换行列的顺序时…

简单随机抽样

文章目录 一、安装加载扩展包二、数据描述三、简单随机抽样1. 抽样&#xff1a;不放回简单随机抽样抽取样本容量为300的样本&#xff08;1&#xff09;调用不放回简单随机抽样函数“srswor”,其中第一个参数为抽取的样本容量n,第二个参数为总体容量N。&#xff08;2&#xff09…

加权随机抽样算法

1. 基于均匀分布概率的算法 例如&#xff0c;3等奖抽中的概率是70%&#xff0c;2等奖是20%&#xff0c;1等奖是10%&#xff0c;这样&#xff0c;大部分人都只能中3等奖&#xff0c;小部分人是二等奖&#xff0c;而只有特别少的人才可能拿到一等奖。产生0-100之间的均匀分布的随…

SPSS如何进行随机抽样

在统计学中&#xff0c;随机抽样是非常重要的一种统计分析手段&#xff0c;它使得研究对象有相同的机会被分在某一处理组当中&#xff0c;排除人为因素的影响和干扰。随机抽样是提高研究样本代表性和组间均衡性的重要方法&#xff0c;它的正确使用将直接影响到研究成果的可靠性…

linux内核编程memcpy,Linux库memcpy函数实现

memcpy函数在面试中很容易被问到如何去实现。memcpy函数是内存拷贝函数&#xff0c;用于将一段内存空间数据拷贝到另一段内存空间中&#xff0c;但是它和memmove函数不同的是&#xff0c;它对内存空间有要求的&#xff0c;dest和src所指向的内存空间不能重叠&#xff0c;否则的…

memcpy函数及其缺陷分析

函数介绍 函数原型 void *memcpy(void *destin, void *source, unsigned n); 参数 destin-- 指向用于存储复制内容的目标数组&#xff0c;类型强制转换为 void* 指针。 source-- 指向要复制的数据源&#xff0c;类型强制转换为 void* 指针。 n-- 要被复制的字节数。 返回值…

memcpy函数优化及DMA对比

一、背景与目的 优化算法结构&#xff0c;提高芯片的使用效率&#xff0c;挖掘芯片的潜在能力&#xff0c;对提高产品质量&#xff0c;降低产品成本有着重要意义&#xff0c;在性能受限的嵌入式设备更加重要。 在使用C语言编程时&#xff0c;我们常用memcpy来复制内存数据&…

memcpy函数的介绍以及实现

一、memcpy函数的介绍 memcpy函数在C语言的作用是将第一个变量a中的前num个字节的变量替换成第二个变量b的前num个字节 memcpy - C Reference (cplusplus.com) 二、memcpy函数的模拟实现 我的思路是这样的&#xff1a;首先&#xff0c;要判断这两个传来的地址是否是空指针&…

Linux下的memcpy函数

之前写过一篇关于 memcpy函数面试的文章 几个简单的笔试题 里面的代码使用的是char指针来实现&#xff0c;今天我们来看看Linux下面的memcpy 函数&#xff0c;它的实现上还是有一些巧妙的。 void * memcpy(void * dest, const void *src, size_t n) {if (!(((unsigned long) de…

内存操作函数:memcpy函数,memove函数

目录: 1.memcpy函数(内存拷贝)(1)memcpy函数的说明(2)memcpy的使用a.代码b.结果 (3)memcpy的模拟实现a.代码b.结果 2.memmove函数(1)memmove函数的说明(2)内存重叠问题a.分析b.代码说明 (3)内存重叠问题的解决分析(4)memmove的使用(5)模拟实现memmove 1.memcpy函数(内存拷贝) …

memcpy函数和memmove函数

memcpy函数和memmove函数 本篇博客只要涉及到memcpy函数与memmove函数的使用和模拟 文章目录 memcpy函数和memmove函数一、memcpy函数1.1函数的定义1.2memcpy函数使用1.3memcpy函数模拟实现 二、memmove函数2.1memmove函数定义2.2memmove模拟思路 总结 一、memcpy函数 1.1函数…