R:输出带有小计的类似数据透视表

2023-11-24

我正在尝试在 R 中进行交叉制表,并使其输出尽可能类似于 Excel 数据透视表中的输出。目标是用 R Markdown 自动生成的报告取代使用 Excel 和 Word 手动生成的报告;数据整理和图表已经处理完毕,但缺少一些表格。所以,给出这段代码:

set.seed(2)
df<-data.frame("ministry"=paste("ministry ",sample(1:3,20,replace=T)),"department"=paste("department ",sample(1:3,20,replace=T)),"program"=paste("program ",sample(letters[1:20],20,replace=F)),"budget"=runif(20)*1e6)
library(tables)
library(dplyr)
arrange(df,ministry,department,program)
tabular(ministry*department~((Count=budget)+(Avg=(mean*budget))+(Total=(sum*budget))),data=df)

得出(实际数据要复杂得多):

                                 Avg    Total  
 ministry    department    Count budget budget 
 ministry  1 department  1 5     479871 2399356
             department  2 1     770028  770028
             department  3 1     184673  184673
 ministry  2 department  1 2     170818  341637
             department  2 1     183373  183373
             department  3 3     415480 1246440
 ministry  3 department  1 0        NaN       0
             department  2 5     680102 3400509
             department  3 2     165118  330235

这是我能得到的最接近 Excel 结果的结果。我需要显示小计,如下所示(使用完全相同的数据在 Excel 中生成):

Excel pivot table results with subtotals

在 R 中是否有可能得到类似的东西(无需逐个单元格地手动编码表格)?

Thanks!


将左侧替换为:

ministry * (department + 1) + 1

也就是说,试试这个:

tabular(ministry * (department + 1) + 1 ~
           ((Count = budget) + (Avg = (mean * budget)) + (Total = (sum * budget))), 
        data = df)

giving:

                                 Avg    Total  
 ministry    department    Count budget budget 
 ministry  1 department  1  5    479871 2399356
             department  2  1    770028  770028
             department  3  1    184673  184673
             All            7    479151 3354057
 ministry  2 department  1  2    170818  341637
             department  2  1    183373  183373
             department  3  3    415480 1246440
             All            6    295242 1771449
 ministry  3 department  1  0       NaN       0
             department  2  5    680102 3400509
             department  3  2    165118  330235
             All            7    532963 3730744
             All           20    442813 8856250

Update:更正。

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

R:输出带有小计的类似数据透视表 的相关文章

  • 如何获取 html5 画布内像素的像素坐标

    我知道您可以使用 getImageData 和 data 获取 html5 Canvas 内每个像素的值 但是有没有办法获取它们的坐标而不仅仅是它们的值 var w ctx canvas width h ctx canvas height
  • 获取 Angular ng-option 下拉列表的选定文本

    我的角度代码中有这个下拉列表 div class btn group div
  • 智能位置表单字段

    我的用户注册表单上有一个文本字段location 我本质上希望这个字段能够根据 Google 地图 或同等地图 进行验证 只允许有效位置通过 最好采用类似的格式滑铁卢 伦敦 or 伦敦 英国 要求 除了位置名称之外 我还想返回该位置中心的坐
  • 使用 R SOAP (SSOAP) 检索数据/抓取

    在 B cycle 页面 www bcycle com whowantsitmore aspx 上 我试图抓取投票的位置和值 The URL http mapservices bcycle com bcycleservice asmx ht
  • 如何使用 HTML CSS JS 创建滑块/切换来更改屏幕上的字体大小 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 is there any way I can make this gt 所以我想制作一个滑块 切换器 用户可以拖动 滑动它来改变不同的
  • 将客户端生成的响应作为下载进行流式传输,无需 Service Worker

    假设我有一个在客户端生成的大文件 我希望允许用户将其保存到他们的硬盘驱动器上 通常的方法是创建一个 Blob 然后为其创建一个对象 URL const blob new Blob chunks type application exampl
  • 列表中允许 div 吗? [复制]

    这个问题在这里已经有答案了 我知道DIV inside LI是不允许的 但我最近在许多 大 网站上看到了它 例如粉碎杂志 网页设计师墙 etc 我尝试验证网站 但它们有错误 但没有任何信息DIV in LI 那么我可以在里面使用它吗LI 我
  • 带滚动条的 HTML 画布

    我正在宽度不等的画布上绘制图表 每个画布可以有自己的滚动条吗 我尝试将所有画布放在一个 div 中并指定最大宽度 但它不起作用 是否有可能所有画布在页面上的可见宽度均为 500 像素 并且每个画布都有其滚动条来查看画布的整个宽度 谢谢 指定
  • 当名称是数组时如何使用 Javascript 修改 HTML Select

    我有两个同名的 html select 对象 它们是具有不同索引的数组 我想做的是 如果从类别 0 选择元素中选择 关闭 我想禁用类别 1 元素 我一直在尝试使用 document getElementsByName 但无法弄清楚如何专门针
  • R 3.5 - read.csv 无法读取 UTF-16 csv 文件

    我的代码如下 read csv http asic gov au Reports YTD 2018 RR20180420 001 SSDailyYTD csv skip 1 fileEncoding UTF 16 sep t header
  • 有什么方法可以在不重新加载的情况下更改标头 URL? [复制]

    这个问题在这里已经有答案了 可能的重复 修改URL而不重新加载页面 https stackoverflow com questions 824349 modify the url without reloading the page 使用新
  • Angular - Safari 无法正确显示 DOM

    我是 Angular 的新手 使用 Angular 4 我尝试通过在关联的组件类文件中设置属性来更新特定元素 但是 除非我尝试强制重新绘制网页 通过调整窗口大小等 否则页面不会更新 我打开检查器 看到 DOM 已更改 但显示与元素检查器中的
  • R中具有特定条件的多列变异

    我有这个数据 M1 M2 M3 UCL 1 2 3 1 5 我想在这种情况下创建新列 如果M1大于UCL MM1将为 UP 否则为 NULL 如果M2大于UCL MM2将为 UP 否则为 NULL 如果M3大于UCL MM3将为 UP 否则
  • 3 Div 盒子不适合容器

    在页面上 jerkydirect com base opportunity 容器内有 3 个带有图片的盒子 然而 当在大屏幕上查看时 最后一个框粘在右侧 它在较小的窗口或移动设备上看起来很棒 但在较大的屏幕上则不然 我怎样才能让它正确对齐
  • 在 Apache 服务器上将特定的 .htm 页面处理为 .php [重复]

    这个问题在这里已经有答案了 我正在为 Apache 服务器编程 并且只需要将一个特定的 html 页面 例如 first htm 作为 PHP 脚本进行处理 可以设置吗 SetHandler http httpd apache org do
  • 如何使用 Facet R 添加线条[重复]

    这个问题在这里已经有答案了 所以我有一个多面图 我希望能够向其中添加随每个面而变化的线 这是代码 p lt ggplot mtcars aes x wt geom histogram bins 20 aes fill factor cyl
  • ggplot 按因子和梯度颜色

    我正在尝试绘制一个对两个变量 一个因子和一个强度 进行着色的图 我希望每个因素都是不同的颜色 并且我希望强度是白色和该颜色之间的渐变 到目前为止 我已经使用了诸如对因子进行分面等技术 将颜色设置为两个变量之间的相互作用 并将颜色设置为因子并
  • 右列固定的 Div 表

    我最近接手了一个非营利网站作为一个项目 我正在使用一个现有的网站 所以我必须使用很多已经编程的东西 所以我所要做的就是创建设计 I made a diagram of basically what I can t figure out ho
  • 如何在闪亮的observeEvent中监听多个事件表达式

    我想要两个不同的事件触发观察者 有人建议here https stackoverflow com questions 34731975 how to listen for more than one event expression wit
  • ggplot:类似于scale_color_steps()的有序因子的色标

    With scale color steps 我们可以通过设置low和high争论 一个例子 df lt data frame x rnorm 99 y rnorm 99 col rnorm 99 ggplot df aes x y col

随机推荐

  • 使用什么安装产品? InstallShield、WiX、Wise、高级安装程序等[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我目前正在做一些调查 以放弃我们目前使用的安装包 Wise Installer 9 转而使用可以处理 Windows Vista Windows 7
  • 应用程序在登录时崩溃(xcode 9.3)EXC_BAD_ACCESS(代码=1,地址=0x1)

    我在 9 3 更新上遇到此崩溃 在 9 2 上一切正常 会是什么 通过任何来源 登录通行证 VK 谷歌 登录时都会出现该错误 class AppDelegate UIResponder UIApplicationDelegate GIDSi
  • 如何找出哪些进程锁定了文件夹或文件?

    如何查询正在运行的进程以找出它们锁定了哪些文件夹或文件 即 您要弹出驱动器 但被告知无法弹出它 因为它正在使用中 我想要么获得 现成的 下载 要么编写一个 NET 3 5 应用程序来执行此操作 主要是 Windows 问题 流程浏览器会告诉
  • AVAudioPlayer初始化错误

    我初始化我的 AVAudioPlayer 实例 如下所示 self audioPlayer initWithContentsOfURL url error err url 包含 m4a 文件的路径 调用此行时 控制台中会显示以下错误 错误域
  • 无头/CLI LibGDX

    我正在为一个小型 LibGDX 支持的游戏编写服务器端代码 并且偶然发现了一个问题 每次我尝试使用任何Gdx files 方法 我遇到了NullPointerException 显然这是因为我没有实现 ApplicationListener
  • 如何让服务在睡眠模式下也能运行?

    我有正在实现位置侦听器的服务 现在我的问题是如何确保我的服务即使在睡眠模式下也能捕获位置 我读过有关警报管理器的内容 alarm setRepeating AlarmManager RTC WAKEUP triggerAtMillis in
  • 如何指定 ASP.NET Web API 中需要 JSON 还是 XML?

    本周我编写了两个 ASP NET Web API 应用程序 它们都包含一个简单的控制器 我已经对每一个进行了调整 以使它们能够工作 包括异常等等 但据我所知 它们的配置几乎相同 其中一个返回 JSON 另一个返回 XML 我希望他们都返回
  • 与 pyodbc 的通信链路失败

    import pyodbc import time connection pyodbc connect cursor connection cursor while True time sleep 1 cursor execute INSE
  • Python的Multiprocessing的进程通信

    我了解了Python多进程的Pipes Queues Shared ctypes Objects Managers 我想将它们与Linux的匿名管道 命名管道 共享内存 套接字等进行比较 我现在有以下问题 Python 多处理的管道和队列模
  • 使用 R 并行化抓取网页

    我正在尝试抓取大量网页以便稍后分析它们 由于 URL 数量巨大 我决定使用parallel包装连同XML 具体来说 我正在使用htmlParse 函数来自XML 与使用时效果很好sapply 但与使用时会生成 HTMLInternalDoc
  • 支持工具栏的自定义视图不使用全宽

    我正在使用 support v7 的工具栏 我添加了自定义视图 但自定义视图似乎不遵守 match parent 它只会延伸到它看到的第一个图标 有谁知道解决这个问题吗 或者工具栏不应该这样使用 我的代码
  • 使用 POEdit——仅搜索特定域中的字符串

    我创建了一个想要翻译的 WordPress 主题 在我的主题中 我使用了一些翻译woocommerce i e 这些 woocommerce 字符串 我自然不想再次翻译 因为它们已经被翻译了 但是当我使用 poedit 扫描我的主题时 它当
  • java.sql.SQLException:I/O 错误:SSO 失败:本机 SSPI 库

    我有两个网络应用程序需要在 Tomcat 6 MS SQL 2008 和 JTDS 1 2 2 作为驱动程序上运行 如果我只启动一个 Web 应用程序 一切都工作正常 但是一旦我启动第二个应用程序 我就会收到以下错误 顺序无关紧要 java
  • 获得Facebook的读取权限后获得publish_action权限

    我正在整合Facebook登录我的应用程序 我能够获得读取权限 但如何从 Facebook SDK 获得发布权限 这就是我请求读取权限的方式 Override public void onClick View v Session curre
  • 如何让 addEventListener 与 select 标签一起使用

    HTML
  • event.preventDefault() 不适用于 android chrome

    event preventDefault 不适用于 Chrome Android 操作系统 而同样的操作也适用于 chrome IOS 我什至使用了 event stopPropagation event stopImmediateProp
  • Spring-Boot 多模块无法从另一个模块读取属性文件

    我搜索了高低 但仍然无法找到这个非常烦人的问题的简单答案 我遵循了这个伟大的指南 JWT 与多服务应用程序一切都很好 但在指南的最后 建议我们创建一个 config service module 我已经完成了 问题是我无法覆盖 JwtCon
  • 在 ICS 或 JB 上的任务管理器中显示自定义应用程序映像

    据我所知 在 Android 4 0 或更高版本 上 默认任务管理器显示程序的最后一个屏幕截图 程序图标没有左上角 看图片 我的问题是如何将任务管理器中的应用程序图像 不是图标 更改为自定义 别问我为什么 我只是需要 经过一番研究 我发现了
  • sed 中的“0,/xxx”是什么意思?

    脚本中使用的 sed 命令如下 sed i 0 ENABLE DEBUG s ENABLE DEBUG ENABLE DEBUG YES MakeConfig 我知道 s ENABLE DEBUG ENABLE DEBUG YES 是替换行
  • R:输出带有小计的类似数据透视表

    我正在尝试在 R 中进行交叉制表 并使其输出尽可能类似于 Excel 数据透视表中的输出 目标是用 R Markdown 自动生成的报告取代使用 Excel 和 Word 手动生成的报告 数据整理和图表已经处理完毕 但缺少一些表格 所以 给