R - 简单随机抽样

2023-11-10

本文使用的包

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R - 简单随机抽样 的相关文章

  • 如何向 ggplot 标题和标题添加图标?

    现在我正在尝试将图标放入 ggplot 可视化中 为此 我在网上检查了一些教程 当我运行 Claus Wilke 的以下代码示例时 library ggtext library ggplot2 ggplot mtcars aes mpg d
  • 按钮:带滚动条的下载按钮仅下载几行

    我正在处理超过 100 000 行的表并使用DT包裹 开发版本0 1 56 在 Shiny App 中将其可视化 此外我正在使用DT扩展如下 Buttons 下载不同格式的数据 然而虽然Scroller扩展程序也已激活 我只能下载几行 不是
  • 如何在Shiny中引用ui.R中的反应元素

    我正在使用 ShinyDND 包制作一个具有拖放功能的应用程序 我想将输入中的列表作为 DragSetUI 的参数传递 该函数需要在 ui R 中运行 我尝试了renderUI和uiOutput 它几乎可以工作 但是拖动的元素无法放置在放置
  • 使用 google 查询邮政编码距离

    我有两个邮政编码列表 R 语言 其中一个是孩子的地址及其学业成绩 另一个是学校的地址 我希望能够为每个孩子找到最近的学校 所以大概需要通过转换为长和纬度值来计算邮政编码之间的距离 然后我希望能够在谷歌地图上绘制每所学校的所有孩子 并看看住在
  • 查找表中第三个四分位数以上的频率

    我有一个大数据框架 对 57 个变量的超过 239k 观察值 其中包含一些疾病描述以及针对不同年龄段的人针对这些疾病使用的药物 我想在每种疾病描述的使用频率前四分之一中找到这些药物 为了制作一个可重现的示例 我创建了一个包含 1000 个观
  • R Shinydashboard 根据选项卡选择显示/隐藏 UI 元素

    如果有人可以提供帮助 我正在努力满足要求 我必须根据用户的选项卡面板选择在仪表板侧栏上显示 隐藏一些元素 这是 UI 代码的一部分 可让您了解我的应用程序的结构 我需要仅在 tabpPanel 2 上显示 Fourthoutput Fift
  • 如何在函数和循环中使用 data.table?

    在评估效用时data table vs dplyr 一个关键因素是在函数和循环中使用它的能力 为此 我修改了本文中使用的代码片段 data table 与 dplyr 一个可以做得很好而另一个不能做或做得很差吗 https stackove
  • 将一个数据框中的行(带有行名称)与另一个数据框中的匹配列名称相乘

    我有两个数据框 df1 lt data frame Values c 0 01 0 05 row names c X Y df1 Values X 0 01 Y 0 05 df2 lt data frame c 0 1 1 c 1 0 0
  • 是否可以旋转 R 中的绘图(基本图形)?

    我搜索了这个 发现使用 grid 有多种方法可以旋转图像 并且对于某些绘图 您可以使用它们的旋转 例如plot x y 而不是plot y x 不过我想知道是否有R 中旋转绘图的通用方法 适用于基础图形中生成的任何绘图 您可以导出图形 将其
  • 通过另一个函数将数据和列名称传递给 ggplot

    我将直接跳到一个示例并在后进行评论 cont lt data frame value c 1 20 variable c 1 20 1 20 1 5 1 20 2 group rep c 1 2 3 each 20 value variab
  • 如何在 R 中使用别名运行系统可执行文件?

    假设我正在 R 中运行系统命令来运行executable inputfile lt path myfile txt 我该如何更换 path myfile txt在下面的命令中inputfile如下面命令所示 system executabl
  • selectInput 的动态数量

    我是闪亮的新手 所以这可能是一个非常基本的问题 我想编写一个闪亮的应用程序 其中用户输入 n 我们得到 n 个 selectInput 选项 但我无法做到这一点 基本上任何形式的 for 循环都不起作用 我尝试的代码如下 library s
  • R中的预测和预测函数之间的区别

    两者之间有什么区别吗predict and forecast R 中的函数 如果是 在哪些具体情况下应该使用它们 Intro predict 适用于多种 R 对象 模型 基础库的一部分 forecast 对于时间序列 预测包的一部分 参见示
  • 获取非零数据的列意味着

    R 可以获得数据帧非零值的 colMeans 吗 data lt data frame col1 c 1 0 1 0 3 3 col2 c 5 0 5 0 7 7 colMeans data 1 33 4 我想要这样的东西 mean dat
  • 在ggplot2中绘制大多边形地图的小区域

    我有一个 shapefile 我使用它在 ggplot2 中进行了强化和绘制geom polygon 我怎样才能只绘制这张地图的一小部分区域 我的完整地图看起来不错 但我的小区域很混乱 这是一个工作示例 这个小形状文件可以从以下位置获得 h
  • 使用不同的阈值替换多列中的值

    我有一个包含多个列的数据集 其中包含我想要转换为二进制的定量数据 为此 我想使用每列不同的阈值 Example Input antigen1 antigen2 antigen3 antigen4 1 215 421 2 12 2 1524
  • 将公式传递给 R 中的函数?

    对此的任何帮助将不胜感激 我正在使用 Lumley 调查包 并试图简化我的代码 但遇到了一些小障碍 在我的代码中调用包中的 svymean 函数如下 其中第一个参数是指示我想要哪些变量的公式 第二个参数是该数据集 svymean hq eh
  • 如何根据值扩展数据框? [复制]

    这个问题在这里已经有答案了 我有以下输入数据框 df lt data frame x c a b c y c 4 5 6 from c 1 2 3 to c 2 4 6 df x y from to 1 a 4 1 2 2 b 5 2 4
  • 在另一列的字符串中搜索一列中的文本

    这里是 R 新手 一直在搜索此论坛 尝试找到一种在同一行数据的字符串中搜索文本的方法 我以前使用过 grepl 但无法让它向下查找列并对每一行应用检查 我觉得这是一个简单的解决方案 但我花了几个小时 但似乎无法得到它 基本上我有类似下面第
  • dplyr::mutate 添加多个值

    网上有几个与此相关的问题dplyr Github 存储库 https github com hadley dplyr已经 并且至少有一个相关的问题 但没有一个问题完全涵盖了我的问题 我认为 在 dplyr mutate 调用中添加多列 ht

随机推荐

  • CUID卡写入错误数据被锁死——入坑NFC的一段经历

    最开始想到做NFC是还在学校上自习的时候 学校有种氛围很好的自习室 每个位置都是一个小隔间 小隔间里还有小灯和插座以及网线口 但是需要插卡取电 对就是用很普通的那种校园卡插进去就有电了 这个校园卡是NFC卡 但是学校很nt的一点是只有上一届
  • vue 项目中通过监听 localStorage 的变化进行父子页面传参

    vue实时监听 localStorage 变化 应用场景 1 页面B需要实时获取页面A数据更改 2 父子页面之间的传参 代码实例 B页面实时获取A页面的数据变化 在 页面A 进行缓存修改or插入缓存 localStorage setItem
  • MySQL8.0_JDBC笔记

    第一章 JDBC概述 之前我们学习了JavaSE 编写了Java程序 数据保存在变量 数组 集合等中 无法持久化 后来学习了IO流可以将数据写入文件 但不方便管理数据以及维护数据的关系 后来我们学习了数据库管理软件MySQL 可以方便的管理
  • Java对象的生命周期

    Java对象的生命周期 Java语言除了原始数据类型外 还有一种类型被称之为引用类型 对象的创建一般需要使用new关键字 将创建的对象存储在堆上 heap 而在线程栈中会保留一个指向堆上地址的引用 下图将展示堆栈之间的具体关系 栈中被分割成
  • [UE4] C++实现Delegate Event实例(例子、example、sample)

    相关文章 如何用蓝图实现Delegate Event http aigo iteye com blog 2269663 原文作者 玄冬Wong 转载请注明出处 http aigo iteye com blog 2301010 虽然官方doc
  • 数据库实验3-单表查询

    2021011203 1 查询全体学生的姓名 出生年份和所在系 2 查询选修了课程的学生学号 SELECT DISTINCT sno FROM scfcy WHERE cno IS NOT NULL distinct去除重复的 从名为scf
  • Python 循环嵌套

    Python 语言允许在一个循环体里面嵌入另一个循环 Python for 循环嵌套语法 for iterating var in sequence for iterating var in sequence statements s st
  • 有什么职业入行时间短,薪资高?

    有什么职业入行时间短 薪资高 1 可以通过短期 半年以内 的学习入行 2 入职后 排除运气等不可控因素 能拿到 10k 以上 百分之十的人能做到就算 3 工作期间晚上有极其充足的生物钟休息时间 4 能用脑子解决的事情别用体力 说到入行时间短
  • 收集金币(人人网笔试)

    题目描述 小M来到了一个迷宫中 这个迷宫可以用一个N M的矩阵表示 在这个迷宫的某些位置中存在金币 一开始小M在迷宫的入口 矩阵的左上角 位置 1 1 处 迷宫的出口位于矩阵的右下角 位置 N M 处 每一次小M可以选择向下或者向右走到一个
  • const 指针 常量指针 指针常量 常量指针常量

    常量指针 指向常量的指针 在指针定义语句的类型前加const 表示该指针指向一个常量 const int a 666 const int p a 常量a只能被访问而不能被改写 但指向常量a的常量指针可以改写 指针常量 在指针定义语句的指针名
  • LeetCode-从尾到头打印链表

    用vector的reverse函数实现翻转hh Definition for singly linked list struct ListNode int val ListNode next ListNode int x val x nex
  • 解决Unable to find vcvarsall.bat问题

    目录 前言 方法1 方法2 前言 用Windows平台做Python开发时 难免会遇到Unable to find vcvarsall bat错误 我在网上疯搜了一段时间之后 才找到解决办法 还是两个 不想装VS的朋友可以用第二个 方法1
  • winows搭建远程仓库Github(linux通用)

    winows搭建远程仓库Github linux通用 文章目录 winows搭建远程仓库Github linux通用 创建远程仓库 配置SSH 克隆项目 多人协同开发 代码冲突 标签 分支 创建远程仓库 以下操作为演示在Github网站上创
  • dubbo解析-详解元数据中心MetadataReport

    本文基于dubbo 2 7 5版本代码 详解元数据中心MetadataReport 一 配置 二 注册中心参数simplified原理 三 元数据中心 1 AbstractMetadataReport 1 publishAll 2 stor
  • 计算机复习6----码分多址CDMA计算

    该部分知识位于书P57 看题 解法 将 A B C D每个的码片与收到的码片序列 逐个进行乘法 例 1 将A中第一位 1与S中第一位 1 相乘 得 1 2 第二位 1 1 1 以此类推 3 得 1 1 3 1 1 3 1 1 4 对所得 相
  • 在Java中使用tabula提取PDF中的表格数据

    问题 如何将pdf文件中指定的表格数据提取出来 尝试过的工具包有 pdfbox tabula 最终选用tabula 两种工具的比较 pdfbox 其中 pdfbox能将pdf中的内容直接提取成String 代码片段 public stati
  • 梦断代码阅读笔记01

    以前的我很难理解软件时间这个问题 以为就是敲代码的时间总和就是 因为以前的我在做项目的时候没有计划 直接上来就是敲 没有任何预估 但是读完这本书的前一部分发现 我以前真是太愚昧了 真正的项目不单单是敲代码 反而敲代码占得比例还不是很大 而主
  • C++内存泄漏及解决办法

    1 C 内存泄漏是什么 内存泄漏指的是由于疏忽或错误造成了程序未能释放掉不再使用的内存 2 造成的后果 性能不良 内存会耗尽 3 C 没有垃圾回收机制 我们需要关注那些类型的内存泄漏 堆内存泄漏 在内存中程序员手动分配的一块内存 mallo
  • IDEA将java项目打包为jar包

    方法 首先在src gt resources目录下建立一个文件夹 然后再在新建文件夹里面建立META INF文件夹 不推荐直接建立META INF 否则后面打包完的jar包需要手动修改配置 然后点击File gt Project Struc
  • R - 简单随机抽样

    本文使用的包 library tidyverse library moderndive 使用的数据集 总共有2400个红球和白色球 bowl 此处采用简单随机抽样 从2400个球中估算出红球所占比例 采用不同的抽取方法 一组是一次性抽取30