从 data.frame 中采样,同时控制比例 [分层采样]

2024-01-06

我有以下数据集

id1<-c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)
status<-c(1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2)
df<-data.frame(id1,status)

In df我观察到的 40%status是“2”。 我正在寻找一个函数来提取 10 个观察值的样本df同时保持上述比例。

我已经看过了R中数据帧的分层随机抽样 https://stackoverflow.com/questions/23479512/stratified-random-sampling-from-data-frame-in-r但它并不是在谈论比例。


您可以尝试stratified我的“splitstackshape”包中的函数:

library(splitstackshape)
stratified(df, "status", 10/nrow(df))
#     id1 status
#  1:   5      1
#  2:  12      1
#  3:   2      1
#  4:   1      1
#  5:   6      1
#  6:   9      1
#  7:  16      2
#  8:  17      2
#  9:  18      2
# 10:  15      2

或者,使用sample_frac来自“dplyr”:

library(dplyr)

df %>%
  group_by(status) %>%
  sample_frac(10/nrow(df))

这两种方法都将采用与原始分组变量成比例的分层样本(因此使用10/nrow(df),或者等价地,0.5).

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

从 data.frame 中采样,同时控制比例 [分层采样] 的相关文章

随机推荐

  • 如何从命令行获取最新的 Visual Studio 解决方案?

    如何以递归方式获取解决方案的最新版本 就像在 Visual Studio 的解决方案资源管理器上下文菜单中完成的那样 我想从命令行或通过宏来执行此操作 我正在尝试使用一组批处理文件来自动化部分日常工作 我相信很多开发人员都希望拥有这样的东西
  • JSF h:outputStylesheet 转换器 - 动态 css?

    我刚刚注意到
  • 是否可以在没有 qmake 的情况下使用 Qt Creator?

    我听说可以使用 Qt Creator 构建非 Qt 应用程序 例如简单的 C HelloWorld 我下载并安装了 Qt Creator 并尝试用它编译简单的代码 但我没有成功 Creator 需要 qmake 来创建 makefile 虽
  • Docker 仅向主机公开端口

    docker 是否能够仅向主机公开端口而不向外部公开端口 我需要让 docker 与 mongo 数据库一起运行 并且我希望它只能从主机访问 但我需要链接主机端口 27017 这可能吗 或者唯一可能的方法是更改 防火墙定义 当然可以 只需将
  • 在标签android中添加片段的最佳方法是什么

    我的应用程序有一个底部导航栏 其中有 5 个选项卡 所以根据这些选项卡 我有 5 个片段 当我单击选项卡时 片段会根据该选项卡发生变化 我可以使用方法 beginTransaction replace 来切换片段 我不希望每次切换选项卡时都
  • django 管理页面和 JWT

    我们使用 django rest framework 和 django rest framework jwt 进行身份验证 它可以在除 django 管理页面之外的任何地方使用ip port admin 那仍然需要用户名和密码 是否有设置或
  • Maven 测试无法使用 Spring Boot 2.2 和 JUnit 5 运行 Cucumber 场景

    我正在 Spring Boot 2 2 6 上尝试 JUnit 5 和 Cucumber 并且在我的应用程序中需要 BDD 场景和单元测试 我已经创建了一个虚拟 ping 控制器对应的功能文件 一切正常 我运行时不会调用黄瓜测试mvn cl
  • Ruby 奇怪的错误

    每当我需要 ruby 或 irb 中的文件时 我都会收到此错误 LoadError no such file to load insert any filename rb from
  • 隐藏特定表的第 n 个子级

    我在一页上有两个表格 我该如何解决第二个问题 id tapp 运行显示 隐藏第 n 个子函数 我无知地尝试通过将 id 引用添加到开头来解决特定的表 td nth child var x document getElementById ta
  • 通过 PHP 从内容配置中提取文件名

    我需要一个正则表达式从以下字符串中提取文件名 包括文件扩展名 attachment filename UTF 8 test rar 或者像这样 attachment filename UTF 8 Epost 20 test part01 r
  • Apollo / GraphQl - 类型必须是输入类型

    向大家致以我正在学习的过程 并将 Apollo 和 graphQL 集成到我的一个项目中 到目前为止一切顺利 但现在我正在尝试进行一些突变 并且在输入类型和查询类型方面遇到了困难 我觉得事情比应有的复杂得多 因此我正在寻求有关如何处理我的情
  • 用宏连接字符串[重复]

    这个问题在这里已经有答案了 可能的重复 C语言中连接两个字符串的宏 https stackoverflow com questions 2191316 macro for concatenating two strings in c 如何用
  • MSAccess 2010 VBA 打开只读数据库

    我有一个 MS Access 数据库 我试图将存档数据从位于只读文件夹中的另一个 MS Access 数据库中提取出来 所以 Dim aidbx As DAO Database Dim stDB as STring stDB path to
  • Java / JPA 程序员的 Oracle 将空字符串视为 NULL 问题

    如何处理 Oracle 在数据库中将空字符串存储为 null 的情况 我希望它存储为空字符串 因为它不是 NULL 因为发出查询会更容易 像这样的事情会选择空字符串和非空字符串 但不会选择空值 select from mytable whe
  • 如何读取gcs存储桶中的文件内容

    我想打印 GCS 存储桶中文件中存在的数据 根据我的要求 文件不应下载到本地系统 但代码应直接从 gcs 存储桶本身读取代码 由于我的文件大小很大 我不希望将文件下载到本地系统 下面是我正在尝试的代码 但我没有得到预期的输出 import
  • 来自 CMake 的 Nuget 包

    我正在使用 CMake 生成 C WPF 项目 我遵循了这个 CMakeLists txtexample https github com bemehiser cmake csharp wpf example blob master Exa
  • 使用 subprocess.run 在 Windows 上运行进程

    我希望通过 Python 运行以下非常冗长的 shell 命令 C Users Alex Desktop tableexporter WGTableExporter exe E Steam Games Installed Directly
  • python'float'对象不能被解释为整数

    import numpy as np def romberg f l val np zeros l for i in range 0 l h 2 1 i N 2 h val i trapez f h N return val def tra
  • 高图表中的不连续数据集

    这是我尝试加载的两种类型的数据集 根据下拉组合还有更多类型的数据集 这些是 14 天的数据集 也是 14 24 小时的每小时级别 这两种类型的数据集是 1 连续 7 8 2014 0 00 9442 7 9 2014 0 00 8492 7
  • 从 data.frame 中采样,同时控制比例 [分层采样]

    我有以下数据集 id1 lt c 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 status lt c 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2