从 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 中采样,同时控制比例 [分层采样] 的相关文章

  • 为什么 ggplot2 图例不结合手动填充和缩放值?

    预期行为 如果我用 ggplot2 创建一个绘图并使用单独的形状和填充比例来描绘数据 我希望图例会在 白色 填充点 看起来是空心的 和 黑色 填充点 看起来不空洞的 在下面的示例代码中 Windows 的图例项应为白色空心点 Linux 的
  • 如何在不指定数据集的情况下调整函数

    我有一个函数 基本上可以过滤SPV行 如下所示 请注意 我这样做return coef lt function df1 idd dmda CategoryChosse 然而 我不希望df1作为函数的参数 而是函数的属性df1数据集 在本例中
  • 保存/加载 data.table 的最快方法

    我想做的实际上是使用最快的可用方法来存储data table以便进一步处理 大致如下 从 CSV RDS 读取原始数据 将其转换为data table 将其保存为针对重新读取而优化的格式 RDS 似乎不适用于data table 是对的吗
  • 循环遍历列并将字符串长度添加为新列

    我有一个包含多列的数据框 并且希望为每个列输出一个单独的列 其中包含每行的长度 我试图迭代列名称 并为每列输出一个附加有 length 的相应列 例如 col1 col2 将转到 col1 列2 col1 长度 列2 长度 我正在使用的代码
  • 在 R 中使用两个 for 循环创建矩阵/数据框

    这是我在 SO 上的第一篇文章 所以请友善 我的问题与这个问题隐约相关 R中的双for循环创建矩阵 https stackoverflow com questions 44376020 double for loop in r creati
  • 数据集子集的回归

    我想做以下事情并需要一些帮助 分别计算 身高 与 年龄 的斜率和截距 lm Height Age 一 每个人 二 性别 并创建一个包含结果 斜率和截距 的表 我可以使用 申请 吗 在下一步中 我想做一个统计测试 以确定性别之间的斜率和截距是
  • 中断、保存并稍后继续循环的最佳方法

    事情是这样的 我有一个需要几天时间才能运行的循环 我想中断循环 检查进度 然后稍后继续 目前 我正在使用以下内容 for i in 1 100000 Sys sleep i 2 5 print i write csv i i csv 我检查
  • 评估 R 中字符串指向的函数

    假设我有以下内容 x lt 1 10 squared lt function x x 2 y lt squared 我希望能够使用 y 定义的字符串来评估该函数 像 eval y 这样的东西 我知道这是错误的 但会返回 1 1 4 9 16
  • 将线条剪裁到绘图区域并在绘图区域外显示文本

    我想限制绘图的可见 y 范围 为了保留超出此范围的值 我需要设置oob 出界 to rescale none这效果很好 不过 我还想在图外的页边空白处添加一些文本 为了做到这一点 我需要关闭剪辑 这会导致超出范围的值被绘制在绘图区域之外的边
  • 替换为 NA

    我有一个包含条目的数据框 看来这些值没有被视为 NA 因为 is na 返回 FALSE 我想将这些值转换为 NA 但找不到方法 Use dfr dfr
  • 什么是 data.frame 可以做而 data.table 不能做的事情?

    我刚刚开始使用 R 并遇到了 data table 我发现它很棒 一个非常天真的问题 我可以忽略 data frame 来使用 data table 以避免两个包之间的语法混淆吗 来自数据表常见问题解答 http datatable r f
  • 匹配向量内的向量

    I have vec1 lt c 0 0 0 1 1 0 1 1 1 0 0 1 vec2 lt c 1 1 我预计 magicFUN x vec1 y vec2 1 4 7 8 这意味着我想要一个完整向量在另一个向量内的位置 match
  • 如何规划庭院灯最有效的路线

    我正在尝试挂一些庭院灯 基于另一个问题 https cs stackexchange com questions 80134 christmas light route efficiency我问 我意识到我需要一种算法来解决路由检查问题 h
  • 使用 dplyr 和 ggplot 绘制包括负值的多面水平发散堆积条形图

    我希望这个例子能够让人清楚 我想要堆叠条形 其中中间条形跨越 0 因为它代表中性值 这与李克特量表一起使用 为了重现性 我使用钻石数据集 以下示例与我的用例足够接近 并演示了我很难以正确的顺序获取 好 或 正 数据 因此中性最接近 0 这是
  • 根据绘图单击事件对数据框进行子集化

    我有下面的数据框 Name lt c John Bob Jack Number lt c 3 3 5 NN lt data frame Name Number 还有一个简单闪亮的应用程序 可以从中创建一个绘图直方图 我的目标是单击直方图的一
  • 两个闪亮的操作按钮

    我正在编写一个闪亮的函数 其中包含两个操作按钮 这两个按钮是左右按钮 单击时可以帮助绘图移动 第一次单击时 这两个按钮都工作正常 当我重新单击它们时 就会出现问题 无论我单击哪个按钮 它都会在两个范围之间来回弹跳 我猜可能是 右 和 左 按
  • 将 R 传单地图保存为 html:不包括图块

    我正在尝试使用 saveWidget 或将 rmd 文件输出到 html 来保存 R 传单地图 如下所述 将传单输出保存为 html https stackoverflow com questions 30110377 saving lea
  • 对 R/Sweave 进行编程以获得正确的 \Sexpr 输出

    我在为 Sweave 进行 R 编程时遇到了一些问题 rstats twitter 小组经常指出这里 所以我想我应该把这个问题向大家提出 我是一名分析师 而不是程序员 所以在我的第一篇文章中请放轻松 问题是 我正在使用 R 在 Sweave
  • 根据第二个数据帧中的匹配创建新列

    如果有两个数据框 top3df http dpaste com 1709875 and qw qw lt structure list id structure 1 25 Label c w01 w02 w03 w04 w05 w06 w0
  • R 中的频率加权,与 Stata 的结果比较

    我正在尝试分析明尼苏达大学 IPUMS 数据集中的数据1990 年美国人口普查 http usa ipums org usa sampdesc shtml us1990a in R 我正在使用survey http faculty wash

随机推荐

  • 如何从命令行获取最新的 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