如何在 R 中操作(聚合)数据?

2024-03-13

我有一个数据集,如下所示:

df <- tribble(
  ~id,  ~price, ~number_of_book,        
  "1",    10,         3,        
  "1",     5,         1,         
  "2",     7,         4,
  "2",     6,         2, 
  "2",     3,         4,
  "3",     4,         1,
  "4",     5,         1,
  "4",     6,         1,
  "5",     1,         2,
  "5",     9,         3,
)

正如您在数据集中看到的,如果 id 为“1”,则有 3 本书每本书售价 10 美元,而 1 本书每本书售价 5 美元。基本上,我想查看每个价格区间的图书数量份额 (%)。这是我想要的数据集:

df <- tribble(
  ~id,    ~less_than_three,   ~three-five,  ~five-six, ~more_than_six,     
  "1",          "0%",              "25%",     "0%",         "75%",
  "2",          "0%",              "40%",     "20%",        "40%",
  "3",          "0%",              "100%",    "0%",         "0%",  
  "4",          "0%",              "50%",     "50%",        "0%",
  "5",          "40%",             "0%",      "0%",         "60%",
)

现在,我首先对价格进行聚类。为此,我运行以下代码:

out <- cut(df$price, breaks = c(0, 3, 5, 6, 10),
           labels = c("<3","3-5","5-6", ">6")) 

out = table(out) / sum(table(out)) 

但不幸的是,由于缺乏编码知识,我无法更进一步。你能帮我获取所需的数据吗?


我们可以用cut获取间隔,然后使用tidyr将数据转换为宽格式,最后使用janitor添加百分比。

library(dplyr)
library(tidyr)
library(janitor)

df %>% 
  mutate(interval = cut(price, c(0,3,5,6,Inf))) %>% 
  select(-price) %>% 
  pivot_wider(names_from = interval, values_from = number_of_book) %>% 
  adorn_percentages()

#>  id (6,Inf] (3,5] (5,6] (0,3]
#>   1    0.75  0.25    NA    NA
#>   2    0.40    NA   0.2   0.4
#>   3      NA  1.00    NA    NA
#>   4      NA  0.50   0.5    NA
#>   5    0.60    NA    NA   0.4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 R 中操作(聚合)数据? 的相关文章

  • 循环中的knitr模板和子文档

    圣诞节前我之前问过跨多个 knitr 文档的单一样式表 https stackoverflow com questions 20370584 single style sheet across multiple knitr document
  • read.table 和 read.delim 函数之间的区别

    两者有什么区别read table and read delim R语言中的函数 当您不确定函数的作用时 除了阅读帮助页面之外 您还可以检查函数的实际代码 例如 输入read delim显示该函数包含以下代码 gt read delim f
  • R:如何根据规范更改数据框中的列名称

    我有一个数据框 它的开头如下 SM H1455 SM V1456 SM K1457 SM X1461 SM K1462 ENSG00000000419 8 290 270 314 364 240 ENSG00000000457 8 252
  • 优化 R 中的嵌套 for 循环

    我尝试加速下面的代码 但没有成功 我读到Rfast https cran r project org web packages Rfast Rfast pdf包 但我也未能实现该包 有没有办法优化R中的以下代码 RI lt function
  • 使用 stargazer 分析包含时间序列的数据帧

    我有一个面板数据集共 10 个观测值和 3 个变量 观测值 30 的数量 10 行 国家 地区 2 列 迁移参数 相应年份的 1 列 可以这么说 我的数据框由 3 个年度数据框组成 我该如何申请观星者考虑到它是一个面板数据集 所以最大 N
  • 分组和计数以获得接近值

    我想计算每country的次数status is open以及次数status is closed 然后计算closerate per country Data customer lt c 1 2 3 4 5 6 7 8 9 country
  • 栅格堆叠后如何写入?

    我想操作几个光栅文件 然后再次写入它们 rasterfiles lt list files C data envi full names TRUE d1 lt overlay stack rasterfiles fun function x
  • 编写健壮的 R 代码:命名空间、屏蔽和使用 `::` 运算符

    简洁版本 对于那些不想阅读我的 案例 的人来说 这就是本质 最小化新包破坏现有代码 即编写您编写的代码 的机会的推荐方法是什么尽可能坚固 充分利用该功能的推荐方法是什么 命名空间机制 when a just using贡献的软件包 比如在一
  • R lubridate:当地语言的工作日

    如何获取本地语言的工作日和月份 My code library lubridate data lt c 10 02 2015 11 03 2015 data lubri lt dmy data wday data lubri label T
  • 以编程方式触发 R 传单中的标记鼠标单击事件以获得闪亮效果

    我的问题与此相同 在 R 传单中触发标记鼠标单击事件以获得闪亮效果 https stackoverflow com questions 56962857 trigger marker mouse click event in r leafl
  • 使用管道语法处理模型列表

    我经常喜欢拟合和检查与 R 数据框中的两个变量相关的多个模型 我可以使用如下语法来做到这一点 require tidyverse require broom models lt list hp exp cyl hp cyl map df m
  • 使用滑动窗口动画 ggplot 时间序列图

    我正在寻找在不失去分辨率的情况下对长时间序列图进行动画处理的方法 我希望视图能够 平移 数据 显示从开始到结束的滑动子集 假设我有以下内容 library ggplot2 library dplyr library gganimate df
  • R:为什么 boxplot(x,log="y") 与 boxplot(log(x)) 不同?

    delme lt exp rnorm 1000 1 5 0 3 boxplot delme log y boxplot log10 delme 为什么这两个图中的胡须不同 谢谢 阿古斯 我想说的是 在您的第一个图中 您只是将 y 轴更改为对
  • 如何在 R 中只为直方图的一个标签着色?

    我有一个像这样的数据框 CellLines ZEB1 600MPE 2 8186 AU565 2 783 BT20 2 7817 BT474 2 6433 BT483 2 4994 BT549 3 035 CAMA1 2 718 DU447
  • R texreg:如何选择要显示的 gof 统计信息?

    我正在使用 texreg 通过 plm 生成面板回归的输出表 我想抑制所有 gof 统计数据的输出 这不是显示 R2 adj R2 和 N 我只想显示 adj R2 有谁知道一个简单的方法来做到这一点 好吧 这实际上很简单 只需在调用中包含
  • 如何从R中的日期中提取月份

    我正在使用lubridate封装并应用month从日期中提取月份的函数 我在日期字段上运行了 str 命令 得到了 Factor w 9498 levels 01 01 1979 01 01 1980 5305 1 1 1 1 1 1 1
  • 如何在 R 中为回归量创建“宏”?

    对于长且重复的模型 我想创建一个 宏 在 Stata 中称为 宏 并通过以下命令完成 global var1 var2 其中包含回归量的模型公式 例如来自 library car lm income education prestige d
  • 如何使用 R 中的函数 sqlSave() 将数据附加到具有 IDENTITY 主键的 SQL Server 表?

    我在SQL Server中创建了一个表 如下所示 CREATE TABLE testPK ID INT NOT NULL IDENTITY 1 1 PRIMARY KEY NumVal NUMERIC 18 4 现在我想使用 RODBC 函
  • R data.table 连接不等式条件

    我想使用 data table 包根据多个不等式条件对数据进行子集化 data table 手册中的示例展示了如何使用字符变量执行此操作 但不显示数字不等式 我还了解了如何使用子集函数来执行此操作 但我真的很想利用 data table 二
  • R闪亮:使用闪亮的JS从数据表中获取信息

    我想读出所有列名称以及它们在数据表中显示的顺序 由于不同的原因 我无法使用 stateSave 等选项 我对 JS 没有什么把握 但我确信用它可以完成 所以我需要你帮助我 我尝试过类似的代码片段 datatable data callbac

随机推荐

  • 使用带有 SL 和 TP 的 CCXT 使用 Python 在 FTX 上创建市场订单

    有人有如何创建带有止盈和止损的市价订单的示例吗 我已经阅读了文档 因为这是我第一次做这样的事情 所以我真的不明白 我正在尝试创建一个 API 端点 该端点接收来自 TradingView 的警报并下订单 我真的不想使用限价订单 因为我只想以
  • Oracle - 带有可选参数的索引使用

    我使用以下技巧来索引具有一些空值的列 create index xx people idx1 on xx people id number 1 这很好用 遗憾的是 当您使用可选参数时 这并没有帮助 select from xx people
  • Autofixture构造函数注入延迟加载

    我在单元测试中使用自动装置 它作为自动模拟器的工作方式非常棒 但是 当我将延迟加载的对象注入到我的类中时 我遇到了问题 例如 public class MyClass IMyClass private Lazy
  • Facebook“点赞”会产生“更新页面时出现内部错误”。

    几个月前 我在我的博客中添加了一个 赞 按钮 一切运行良好 今天早上我突然添加了一篇新帖子 不知出于什么原因 点赞按钮现在坏了 每次我点击 喜欢 时 我都会收到此错误 There was an internal error when upd
  • openXmlSdk 在运行元素内插入新行

    我里面有文字Run元素 我正在尝试更换 r在字符串中带有line break 正文如下 This is an example project for testing purposes rThis is all sample data non
  • Kibana 无法在 Windows 上连接到 elasticsearch

    我正在运行 Elastic Search 7 6 它工作正常http 本地主机 9200 http localhost 9200 我能够使用 REST API 将值添加到索引 现在 当我启动 kibana 7 6 时 出现以下错误 log
  • Apache 和 MySQL 是多线程应用程序吗?

    我想知道是否默认安装Apache and MySQL on 视窗 Linux是否是多线程的 这取决于如何看待它 MySQL允许您同时运行多个线程 这可用CPU RAM资源 但它不允许您使用多个线程运行单个查询 Apache是多线程的 这是
  • Azure Artifacts - 与其他项目共享项目范围的源

    我们的组织内有许多项目 其中一个项目创建了一个项目范围的 Azure Artifact 源 他们希望与我们的其他项目共享 但是 当其他项目访问其工件页面时 从提要下拉列表中 他们只能看到 组织范围的提要 而 项目范围的提要 下没有任何内容
  • LoadError: 无法加载此类文件 -- 英语

    我们的代码确实 require english 它在本地工作 但我们在 CI 服务器上收到此错误 LoadError 无法加载此类文件 英语 有任何想法吗 事实证明解决办法是改变 require english into require E
  • 如何使 jquery click 事件仅在第一次单击时触发

    我有两个 div basic1 和 basic2 我希望 basic1 在单击时淡出 而 basic2 在我工作得很好的情况下淡出 唯一的问题是 一旦 basic2 淡入 如果用户继续单击链接 navbar1 它将一遍又一遍地淡入该 div
  • 在图像视图的触摸事件上填充两个图像叠加,如搜索栏

    有两个图像黑色和蓝色 同时触摸蓝色图像 它应该像进度一样填充 我在不使用画布的情况下使用多个剪切图像实现了但没有得到smoothness触摸时 例如 实际上 我正在尝试实现类似于我上面提到的 100 个俯卧撑应用程序 我得到了一个link
  • 在递归函数中使用 .Find

    我正在尝试使用以下命令查找工作表中的行号 Find递归函数中的函数 我设置了一个名为Found Find 它效果很好 一点点 我在递归深度为 1 级时设置它 然后在递归深度为 2 级时再次设置它 然后 我的代码找到路径的末尾并开始备份 直到
  • 覆盖 ActiveRecord 对模型和集合的查找的最简洁方法是什么?

    我有重写 Ar 的 find 方法的库代码 我还包括所有 Association 类的模块 因此 MyModel find 和 parent my models find 都可以工作并应用正确的范围 我的代码基于 will paginate
  • MemoryError:无法分配具有形状和数据类型对象的数组

    我想在两个数据集之间执行内部联接 如下所示 theme ids head id Loan Theme ID Loan Theme Type Partner ID 0 638631 a1050000000skGl General 151 1
  • 写入 Amazon DynamoDB(PHP API)的速度慢得离谱

    这个问题已经发布在AWS论坛上 但仍未得到解答https forums aws amazon com thread jspa threadID 94589 https forums aws amazon com thread jspa th
  • 静态分配的内存在静态取消初始化期间会变得无效吗?

    假设我定义了一个像这样的变量 C static const char str Here is some string data 我有一个静态分配的类实例 它在其析构函数中引用该数组 这会出错吗 例如 可以吗str变量不知何故变得无效 cla
  • Weakreference get() 方法安全吗? (安卓,异步任务)

    我正在制作一个 Android 移动应用程序 我在 AsyncTask 中有一个对我的 Activity 的 WeakReference 以确保它可以被垃圾收集 When onPostExecute 接到电话 我愿意 Acitivty ac
  • id 的值相同(浮点数)

    据我所知 Python 中的一切都是对象id 应该 我对吗 为每个对象返回不同的数字 就我而言 id 1 回报4298178968 id 2 回报4298178944但我对所有浮点类型都得到相同的值 id 1 1 回报4298189032
  • 集合的 EF Code First 映射

    我首先使用 EF 4 1 RC 代码 我在连接表 Friends 中有一个使用复合 PK 的多对多关系 我们明确需要一个单独的 Friends 类 不要问 来代表我们的联结表 我们的目标是能够控制用户实体的删除过程 请在阅读其余部分之前先阅
  • 如何在 R 中操作(聚合)数据?

    我有一个数据集 如下所示 df lt tribble id price number of book 1 10 3 1 5 1 2 7 4 2 6 2 2 3 4 3 4 1 4 5 1 4 6 1 5 1 2 5 9 3 正如您在数据集中