R语言两种方法实现随机分层抽样

为了减少数据分布的不平衡,提供高样本的代表性,可将数据按特征分层一定的层次,在每个层次抽取一定量的样本,为分层抽样。分层抽样的特点是将科学分组法与抽样法结合在一起,分组减小了各抽样层变异性的影响,抽样保证了所抽取的样本具有足够的代表性。

在这里插入图片描述
既往咱们已经多篇文章介绍了R语言的随机抽样,今天咱们通过R语言的2种方法来介绍随机分层抽样。咱们先导入数据和R包,首先介绍的是sampling包,

library(sampling)
bc<-read.csv("E:/r/test/demo.csv",sep=',',header=TRUE)

在这里插入图片描述
这是个体检相关的数据,公众号回复:体检数据,可以获得这个数据。这个数据的变量我就不解释了,SEX:性别,我们等下就根据性别分层来随机抽样。用到的是strata函数,我们来看下函数的格式

strata(data, stratanames=NULL, size, method=c("srswor","srswr","poisson",
"systematic"), pik,description=FALSE)

其实用起来非常简单哈,data就是你的数据,strataname就是你分层的变量名字,我们这里当然是SEX性别啦,size就是你抽取的数量,method是抽取的方法,有不替换的简单随机抽样(srswr)、替换的简单随意抽样(srswr)、泊松抽样(Poisson)、系统抽样(systematic sampling);如果缺少“method”,则默认方法为“srswork”。

下面咱们就来实现一下,假设咱们想男女等比例抽取60%的样本来建模,首先咱们需要小小计算一下

n=round(3/5*nrow(bc)/2)

在这里插入图片描述
男女需要分别抽取250例

sub_train=strata(bc,stratanames=("SEX"),size=c(250,250),method="srswor")

在这里插入图片描述
这样一句话就抽取好啦,咱们来看一下,确实都是抽取了250个

table(sub_train$SEX)

在这里插入图片描述
也可以不等比例抽取,假设我想男性抽190个,女性抽100个

sub_train1=strata(bc,stratanames=("SEX"),size=c(190,100),method="srswor")
table(sub_train1$SEX)

在这里插入图片描述
如果要提取数据,需要使用ID_unit这个变量,这是数据的标识,咱们通常会把分层抽样的数据用来建模,其余的数据用来验证。

data_train=bc[sub_train$ID_unit,]
data_test=bc[-sub_train$ID_unit,]

这样数据就提取出来啊,非常简单。

接下来介绍的是dplyr包因为跑的是通道,也是非常简单

library(dplyr)

每组抽取固定数量250个

strat <- bc %>% group_by(SEX) %>% slice_sample(n = 250)

每组抽取一定比例

strat1 <- bc %>% group_by(SEX) %>% slice_sample(prop = .50)

在这里插入图片描述
Dplyr包是直接提取出了数据,不用你再提取啦。
本期结束啦,祝大家五一劳动节快乐!

参考文献:

  1. sampling包文档
  2. dplyr包文档
  3. https://blog.csdn.net/neweastsun/article/details/122395968
  4. https://blog.csdn.net/claroja/article/details/55096431

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/11839.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言指针详解(三)

目录 前言 一. 回调函数是什么&#xff1f; 1.定义 2. 代码示例&#xff1a;计数器 2.1 使用回调函数改造前 2.2 使用回调函数改造后 二. qsort使用举例 1. qsort介绍 2. 使用qsort函数排序整型数据 3. 使用qsort排序结构体数据 三. qsort函数的模拟实现 四. sizeo…

代码随想录:螺旋矩阵II相关题目推荐(54、LCR146)

59.螺旋矩阵II 题目 给你一个正整数 n &#xff0c;生成一个包含 1 到 n2 所有元素&#xff0c;且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;[[1,2,3],[8,9,4],[7,6,5]] 代码&#xff08;新解法&am…

MyBatis——MyBatis 参数处理

一、单个简单类型参数 简单类型包括&#xff1a; byte short int long float double char Byte Short Integer Long Float Double Character String java.util.Date java.sql.Date parameterType 属性&#xff1a;告诉 MyBatis 参数的类型 MyBatis 自带类型自动推断机制…

LLM应用-prompt提示:生成搜索相关问题、生成回答格式包含参考资料

参考: https://isou.chat/ (AI回答与相关问题都是根据问题的搜索引擎结果结合大模型生成的) prompt参考: https://github.com/yokingma/search_with_ai/blob/6d32aa8f05f5f6ee12b5204787035b3f7797c22a/src/prompt.ts#L8 ##rag 根据搜索结果知识回答RagQueryPrompt = ` …

程控水冷阻性负载主要工作方式

程控水冷阻性负载是一种先进的电力设备&#xff0c;主要用于电力系统的测试和研究。它的主要工作方式是通过控制水冷系统的温度&#xff0c;来模拟不同的阻性负载条件&#xff0c;从而对电力设备进行各种性能测试。 首先&#xff0c;我们需要了解什么是阻性负载。阻性负载是指那…

代码随想录算法训练营Day 42| 动态规划part04 | 01背包问题理论基础I、01背包问题理论基础II、416. 分割等和子集

代码随想录算法训练营Day 42| 动态规划part04 | 01背包问题理论基础I、01背包问题理论基础II、416. 分割等和子集 文章目录 代码随想录算法训练营Day 42| 动态规划part04 | 01背包问题理论基础I、01背包问题理论基础II、416. 分割等和子集01背包问题理论基础一、01背包问题二、…

Redis教程——哨兵

在上篇文章我们学习了Redis教程——主从复制&#xff0c;这篇文章我们学习Redis教程——哨兵监控。 在主从复制中如果主机发生宕机&#xff0c;从机Redis会一直等到主机的恢复&#xff0c;这样会导致只能进行读操作&#xff0c;不能进行写操作&#xff0c;这大大降低了系统的高…

资料同化 | 搭建docker环境-1

Community Gridpoint Statistical Interpolation (GSI) system DTC 是一个分布式设施&#xff0c;NWP 社区可以在这里测试和评估用于研究和操作的新模型和技术。 DTC的目标包括&#xff1a; 链接研究和操作社区 研究成果转化为实际操作的速度 加快改善天气预报 开发和测试有…

Cocos Creator 3.8.x 透明带滚动功能的容器

ScrollView 是一种带滚动功能的容器 1、删除ScrollView下Sprite组件的SpriteFrame 2、ScrollView下scrollBar的Sprite组件的Color设为&#xff1a;FFFFFF00 3、ScrollView下view的Graphics组件的FillColor设为&#xff1a;FFFFFF00

IP代理如何帮助SEO进行优化?

IP代理在SEO优化中扮演着重要的角色&#xff0c;它通过多种方式帮助提升网站的搜索排名和可见性。以下是IP代理如何帮助SEO进行优化的详细阐述&#xff1a; 第一点&#xff0c;数据采集与分析&#xff1a;在SEO过程中&#xff0c;大量的数据是必不可少的。通过使用IP代理&…

c++ std::shared_ptr学习

背景 c中智能指针shared_ptr用于自动管理资源&#xff0c;通过引用计数来记录资源被多少出地方使用。在不使用资源时&#xff0c;减少引用计数&#xff0c;如果引用计数为0&#xff0c;表示资源不会再被使用&#xff0c;此时会释放资源。本文记录对c中std::shared_ptr的源码学习…

攻防世界PHP2

1、打开靶机链接http://61.147.171.105:49513/&#xff0c;没有发现任何线索 2、尝试访问http://61.147.171.105:49513/index.php&#xff0c;页面没有发生跳转 3、尝试将访问 尝试访问http://61.147.171.105:49513/index.phps index.php 和 index.phps 文件之间的主要区别在于…

GNU Radio创建时间戳 C++ OOT块

文章目录 前言一、创建自定义的 C OOT 块1、创建 timestamp_sender C OOT 模块①、创建 timestamp_sender OOT 块②、修改 C 代码 2、创建 timestamp_receiver C OOT 模块①、创建 timestamp_receiver OOT 块②、修改 C 代码 3、创建 delayMicroSec C OOT 模块①、创建 delayMi…

Vue3实战笔记(20)—封装头部导航组件

文章目录 前言一、封装头部导航栏二、使用步骤总结 前言 Vue 3 封装头部导航栏有助于提高代码复用性、统一风格、降低维护成本、提高可配置性和模块化程度&#xff0c;同时还可以实现动态渲染等功能&#xff0c;有利于项目开发和维护。 一、封装头部导航栏 封装头部导航栏&am…

HFSS学习-day4-建模操作

通过昨天的学习&#xff0c;我们已经熟悉了HFSS的工作环境&#xff1b;今天我们来讲解HFSS中创建物体模型的县体步骤和相关操作。物体建模是HFSS仿真设计工作的第一步&#xff0c;HFSS中提供了诸如矩形、圆面、长方体圆柱体和球体等多种基本模型(Primitive)&#xff0c;这些基本…

新书速览|MATLAB科技绘图与数据分析

提升你的数据洞察力&#xff0c;用于精确绘图和分析的高级MATLAB技术。 本书内容 《MATLAB科技绘图与数据分析》结合作者多年的数据分析与科研绘图经验&#xff0c;详细讲解MATLAB在科技图表制作与数据分析中的使用方法与技巧。全书分为3部分&#xff0c;共12章&#xff0c;第1…

精英都是时间控!职场精英的完美一天~~~谷歌FB都在用的时间管理术!

如何超高效使用24小时 每个人的一天都只有24小时&#xff0c;使用时间的方法将决定整个人生。时间管理术并不提倡把自己忙死榨干&#xff0c;而是通过在合适的时间做合适的事情&#xff0c;把大脑机能发挥到极致&#xff0c;从而提高效率&#xff0c;节省下更多时间用于生活与…

(项目)-KDE巡检报告(模板

金山云于12月26日对建行共计【30】个KDE集群,合计【198】台服务器进行了巡检服务。共发现系统风险【135】条,服务风险【1912】条,服务配置风险【368】条。 一、系统风险 1、风险分析(图片+描述) (1)磁盘使用率高 问题描述多个集群的多台服务器磁盘使用率较高,远超过…

答辩PPT模版如何选择?aippt快速生成

这些网站我愿称之为制作答辩PPT的神&#xff01; 很多快要毕业的同学在做答辩PPT的时候总是感觉毫无思路&#xff0c;一窍不通。但这并不是你们的错&#xff0c;对于平时没接触过相关方面&#xff0c;第一次搞答辩PPT的人来说&#xff0c;这是很正常的一件事。一个好的答辩PPT…

简述RocketMQ系统架构及其相关概念

一、概述 RocketMQ是一款高性能、高吞吐量的分布式消息队列系统&#xff0c;它采用了分布式架构&#xff0c;支持多生产者和消费者并发读写&#xff0c;具有高可用性、高吞吐量、低延迟等特点。本文将对RocketMQ的系统架构进行详细解析。 二、架构设计 RocketMQ采用了分布式架…