在 R 中操作变量以生成新数据集

2024-03-21

我是一个相对较新的 R 用户。如果对我的数据集有任何帮助,我真的很感激。

我有一个包含 2400 万行的数据集。数据集中有 3 个变量:患者姓名、药房名称以及该次就诊时从药房领取的药物数量。

有些患者多次出现在数据集中(即他们在不同时间点从不同药房领取药物)。

数据框如下所示:

df <- data.frame(name = c("Tom", "Rob", "Tom", "Tom",  "Amy"), 
                 pharmacy = c("A", "B", "B", "B", "C"), 
                 meds = c(3, 2, 5, 8, 2))

我想根据这些数据生成一个新的数据集,其中为每位患者提供一个药房。这家药房必须是患者领取药品数量最多的药房。

例如:对于 Tom 来说,他最常去的药房是 Pharmacy B,因为他从那里购买了 13 种药物(5+8 种药物)。我想生成的数据集:

data.frame(name = c("Tom", "Rob",  "Amy"), 
           pharmacy = c("B", "B", "C"), 
           meds = c(13, 2, 2))

有人可以帮我编写代码来执行此操作吗? 我尝试过R中的各种功能,例如dplyr, tidyr, aggregate()没有成功。任何帮助将不胜感激。

非常感谢

Alex


你的问题无法重现。但这里有一种解决方案:

# create reproducible example of data 
dataset1 <- data.frame( 
name = c("Tom", "Rob", "Tom", "Tom", "Amy"), 
pharmacy = c("pharmacy_A", "pharmacy_B", "pharmacy_B", "pharmacy_B", "pharmacy_C"),  
meds_count = c(3, 2, 5, 8, 2))

library(dplyr) #load dplyr

dataset2 <- dataset1 %>% group_by(name, pharmacy) %>% # group by your grouping variables
                   summarise(meds_count = sum(meds_count)) %>% # sum no. of meds by your grouping variables
                   top_n(1, meds_count) %>% # filter for only the top 1 count
                   ungroup()

结果数据框:

> dataset2
# A tibble: 3 x 3
  name  pharmacy   meds_count
  <fct> <fct>           <dbl>
1 Amy   pharmacy_C       2.00
2 Rob   pharmacy_B       2.00
3 Tom   pharmacy_B      13.0 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 R 中操作变量以生成新数据集 的相关文章

  • LaTex 中与 knit 和 xtable 交叉引用的问题

    我目前正在与 R Studio 合作 使用 LaTex 中的 R knitr 生成 PDF 文档 在这些文档中 我想在文本中引用的表格中展示我的部分结果 我使用 R 中的 xtable 包生成这些表 它运行良好并为我提供了正确的表 到目前为
  • 替换列表列表中的元素

    The applyR 中的函数是简化 for 循环以获得输出的好方法 是否有一个等效的函数可以帮助人们在替换向量的值时避免 for 循环 通过示例可以更好地理解这一点 Take this list for example x list li
  • 如何在R中计算文本中的句子数?

    我使用 R 将文本读入readChar 功能 我的目的是测试文本句子中字母 a 出现次数与字母 b 出现次数一样多的假设 我最近发现了 stringr 包 它帮助我对文本做很多有用的事情 例如计算字符数以及整个文本中每个字母出现的总数 现在
  • R::bigmemory - 如何创建角色big.matrix?

    我尝试使用bigmemory封装在R我一开始就陷入困境 我愿意 temp lt matrix paste a 1 10 5 2 并得到一个字符矩阵 没关系 但后来我尝试 x lt as big matrix temp type char 我
  • 将 Instagram/youtube 嵌入 Shiny R 应用程序

    我想通过点击图表来播放 Instagram 或 Youtube 视频 例如显示异常值等 到目前为止 明确告诉 Shiny 视频内容是有效的 require shiny require ggplot2 data df lt data fram
  • 基于另一个数据集获取数据集的子集

    假设我有一个数据集 即 dat1 ID block plot SPID TotHeight 1 1 1 4 44 5 2 1 1 4 51 3 1 1 4 28 7 4 1 1 4 24 5 5 1 1 4 27 3 6 1 1 4 20
  • 如何对同一列上的数据帧列表中的所有数据帧进行排序?

    我有一个数据框列表dataframes list 举个例子 我把dput dataframes list 在底部 我想对列列表中的所有数据框进行排序enrichment 我可以对一个数据框进行排序 first dataframe lt da
  • LDA with topicmodels,如何查看不同文档属于哪些主题?

    我正在使用 topicmodels 包中的 LDA 我已经在大约 30 000 个文档上运行它 获取了 30 个主题 并获得了主题的前 10 个单词 它们看起来非常好 但我想看看哪些文档属于哪个主题的概率最高 我该怎么做 myCorpus
  • 如何从 R 运行带有特定模块的 perl 脚本?

    我可以从终端运行 perl 脚本 myperlscript pl 没有任何问题 但是 如果我尝试从 RStudio 中运行相同的 perl 脚本 则会出现以下错误 command lt myperlscript pl outputfile
  • 删除ggplot2中的负图区域[重复]

    这个问题在这里已经有答案了 如何删除 ggplot2 中 x 轴和 y 轴下方的绘图区域 请参见下面的示例 我尝试了几个主题元素 panel border panel margin plot margin 但没有任何运气 p lt ggpl
  • 选择 R 中的数据表中隐藏时(在绿色加号下方)列的显示顺序

    Context 使用 DataTables 库制作交互式表格时 当屏幕宽度对于列的数量和宽度来说太窄时 列将隐藏在绿色 号下 我有一个非常宽的表格 有 20 多列 其中一些内容非常冗长 因此某些列在所有屏幕宽度下总是隐藏的 每次隐藏新列时
  • 将绘图调用拆分为多个块

    我正在编写一个图的解释 其中我基本上将在第一个块中创建图 然后描述该输出 并在第二个块中添加一个轴 然而 似乎每个块都会强制一个新的绘图环境 因此当我们尝试使用以下命令运行块时会出现错误axis独自的 观察 output html docu
  • 尝试读取 CSV 文件时出现“无法识别的字符串转义”

    我正在尝试导入一个 csv文件 以便我可以观看此视频 R ggplot2 图形直方图 http www youtube com watch v 47kWynt3b6M 我安装了所有正确的软件包 包括ggplot以及相关的包 视频中的第一个说
  • twitterR 和 ROAuth R 软件包安装

    我在安装 CRAN 上的 twitteR 和 RAOuth 软件包时遇到一些问题 我尝试了几种不同的方法 在 Windows 下使用源代码 在 Ubuntu 下使用 RStudio 我尝试了以下命令 sudo apt get install
  • 从命令行运行 R 代码 (Windows)

    我在名为 analysis r 的文件中有一些 R 代码 我希望能够从命令行 CMD 运行该文件中的代码 而无需通过 R 终端 并且我还希望能够传递参数并在我的代码中使用这些参数 例如就像下面的伪代码 C gt execute r scri
  • 为什么 dplyr filter() 不能在函数内工作(即使用变量作为列名)?

    使用 dplyr 函数对数据进行过滤 分组和变异的函数 基本管道序列在函数之外工作得很好 这就是我使用真实列名称的地方 将其放入一个函数中 其中列名称是一个变量 并且某些函数可以工作 但有些函数则不能 尤其是 dplyr filter 例如
  • Purrr::map_df() 删除 NULL 行

    使用时purrr map df 我偶尔会传递一个数据框列表 其中一些项目是NULL 当我做 map df 返回行数少于原始列表的数据框 我想发生的事情是这样的map df calls dplyr bind rows 它忽略了NULL价值观
  • 基于时间窗口的不规则时间序列的优化滚动函数

    有没有办法使用 rollapply 来自zoo包或类似的东西 优化功能 rollmean rollmedian等 使用基于时间的窗口计算滚动函数 而不是基于大量观察的函数 我想要的很简单 对于不规则时间序列中的每个元素 我想计算一个具有 N
  • 相当于 min() 的 rowMeans()

    我在 R 邮件列表上多次看到这个问题 但仍然找不到满意的答案 假设我有一个矩阵m m lt matrix rnorm 10000000 ncol 10 我可以通过以下方式获得每行的平均值 system time rowMeans m use
  • 文本挖掘 pdf 文件/词频问题

    我正在尝试挖掘一篇具有丰富 pdf 编码和图表的文章的 pdf 我注意到 当我挖掘一些 pdf 文档时 我得到的高频词是 phi taeoe toe sigma gamma 等 它与某些 pdf 文档配合良好 但与其他文档配合使用时却得到这

随机推荐

  • iPhone:Facebook 注销功能不起作用

    我正在使用 FBConnct 实现 Facebook 集成 它工作正常 但是当我 想要从 Facebook 注销却行不通 我的代码如下 IBAction logOutbuttonPressed id sender Facebook logo
  • log4j 记录器消息不显示在 JBoss Web 应用程序上

    我使用 Jboss 6 和我的 static Logger logger Logger getLogger Foo class 什么也不显示 尝试将 log4 添加到我的项目中 将其删除 将 log4j 文件放在我的 main resour
  • 如何在C#中同时播放多个声音

    我希望能够同时播放多种声音 我尝试使用多线程 但发现它们仍然会一个接一个地播放 有没有办法让他们同时玩 static void Main string args Console WriteLine Hello World Thread th
  • 无法执行目标 org.codehaus.mojo exec-maven-plugin

    我有一个问题 我花了5天没有解决 执行时mvn exec java它无法正确解析配置参数 引发以下错误 Failed to execute goal org codehaus mojo exec maven plugin 1 1 java
  • 安装扩展后 Visual Studio 2015 中缺少图标

    我跟着创建 Visual Studio 扩展的步骤 https msdn microsoft com en us library cc138589 aspx但是在VS2015中安装扩展后 Visual Studio在菜单的工具栏中不显示任何
  • 如何禁用从互联网到 Jelastic 节点的入口?

    默认情况下 在 Jelastic 中创建的每个资源都会获得一个 dns 条目 并且可以通过互联网进行访问 对于许多服务 例如数据库 我不希望出现这种行为 这是默认行为 这似乎很不安全 我只想从我的环境中的其他服务或通过 ssh 访问这些内容
  • 使用.net正则表达式平衡匹配捕获内部项目

    我找到了有关 net 正则表达式平衡匹配的以下资源 http weblogs asp net whaggard archive 2005 02 20 377025 aspx http weblogs asp net whaggard arc
  • Prometheus 为每个 pod 的多个指标端点抓取配置

    我们有一个 Kubernetes Pod 它提供多个指标端点 3093 metrics and 9113 metrics 但它还有一个不提供任何指标的端口 80 TL DR 是否可以只刮掉端口3093 and 9113 我们正在使用示例配置
  • WPF ListViewItem 颜色不正确

    我设置了一个非常基本的测试来解决我在使用 Visual Studio 2012 并在 Windows 8 1 上运行的针对 NET Framework 4 的 WPF 中遇到的颜色问题 问题在于 IsSelected 和 IsMouseOv
  • Eclipse与tomcat——eclipse修改server.xml

    我在 使用 tomcat 安装 模式下将 tomcat 与 eclipse 结合使用 我的问题是 eclipse 每次都会覆盖 tomcats server xml 并删除我的 crossContext true 元素 我应该使用自定义位置
  • 如何在 VB 6 中检查对象的类型? - 我不想使用“TypeOf”方法

    如何在 VB 6 0 中检查对象的类型 我们必须修改现有代码以使用 typeof 方法 是否有任何方法 例如将光标移动到对象变量上或像快速监视那样可以看到其类型 我知道以下方法 但我不想使用它 Set fs New Scripting Fi
  • 向 MultiIndex DataFrame 添加一个空行

    正如标题所暗示的 我想在我的MultiIndex DataFrame 第一级索引需要有一个定义的索引值 第二级索引需要是np nan 列中的值需要是np nan 考虑以下 import pandas as pd import numpy a
  • PyUsb USB 条码扫描器

    我正在尝试在 Ubuntu 中使用 Honeywell USB 3310g 扫描仪从条形码或 qrcode 输出字符串 我有 libusb 和一个名为 Metro usb 的库 http gitorious org other metro
  • Scheme/Racket有枚举操作吗?

    Scheme Racket 是否有相当于 Haskell 中的 a b 表示法的枚举表示法 在 Haskell 中 1 5 计算结果为列表 1 2 3 4 5 for list i in range 1 6 i sequence gt li
  • Spark流式批量查找数据

    我需要从 HDFS 上的文件查找 Spark 流作业中的一些数据 该数据由批处理作业每天获取一次 有没有 设计模式 为了这样的任务 如何在执行后立即重新加载内存中的数据 哈希图 每日更新 当查找数据时 如何连续服务流作业被抓取 一种可能的方
  • 电子如何创建增量文件

    I use electron builder构建我的应用程序并成功构建第一个版本 其中包含三个输出 foosetup exe foo 0 0 1 full nupkg 和 RELEASES 现在我想实现自动更新 并且我已经部署了后端服务通过
  • Scala 中语法糖的所有实例是什么?

    Scala 中语法糖的所有实例是什么 它们很难搜索 因为大多数 全部都是纯粹的符号 因此在不知道概念名称的情况下很难搜索 TODO 隐式转换 匿名函数的语法 其他我忘记的事情 Basics a b相当于a b a b c相当于a b c 除
  • 如何在 PHP / XAMPP 中启用 cURL

    如何在 PHP 中启用 cURL On Debian http en wikipedia org wiki Debian with Apache http en wikipedia org wiki Apache HTTP Server 2
  • 使用按钮在 Chart.js 中切换图表

    我是一名初学者开发人员 我一直在尝试使用 ChartJS 将一些数据显示到屏幕上 我希望能够单击一个按钮来生成另一组新的数据 轴 我一直在尝试遵循其他堆栈溢出答案 但似乎没有一个对我有用 请参见下文
  • 在 R 中操作变量以生成新数据集

    我是一个相对较新的 R 用户 如果对我的数据集有任何帮助 我真的很感激 我有一个包含 2400 万行的数据集 数据集中有 3 个变量 患者姓名 药房名称以及该次就诊时从药房领取的药物数量 有些患者多次出现在数据集中 即他们在不同时间点从不同