为因子的每个级别附加一行总和

2024-03-11

我想为每个 Reg 添加一行总和,如下所示

   Reg   Res    Pop
1      Total 1000915
2    A Urban 500414
3    A Rural 500501

4     Total  999938
5    B Urban 499922
6    B Rural 500016

7      Total 1000912
8    C Urban 501638
9    C Rural 499274

10     Total  999629
11    D Urban 499804
12    D Rural 499825

13     Total 1000303
14   E Urban 499917
15   E Rural 500386

MWE如下:

Reg <- rep(LETTERS[1:5], each = 2)
Res <- rep(c("Urban", "Rural"), times = 5)
set.seed(12345)
Pop <- rpois(n = 10, lambda = 500000)
df <- data.frame(Reg, Res, Pop)

df
   Reg   Res    Pop
1    A Urban 500414
2    A Rural 500501
3    B Urban 499922
4    B Rural 500016
5    C Urban 501638
6    C Rural 499274
7    D Urban 499804
8    D Rural 499825
9    E Urban 499917
10   E Rural 500386

df %>%
   group_by(Reg) %>%
   summarise(Total = sum(Pop))
# A tibble: 5 x 2
     Reg   Total
  <fctr>   <int>
1      A 1000915
2      B  999938
3      C 1000912
4      D  999629
5      E 1000303

Edited

我想两者都拥有dplyr and data.table解决方案。


您可以添加一个额外的Res列到摘要,然后bind_rows与原始数据框:

df %>%
    group_by(Reg) %>%
    summarise(Pop = sum(Pop), Res = 'Total') %>%
    bind_rows(df) %>% 
    arrange(Reg)

# A tibble: 15 x 3
#     Reg     Pop   Res
#   <chr>   <int> <chr>
# 1     A 1000915 Total
# 2     A  500414 Urban
# 3     A  500501 Rural
# 4     B  999938 Total
# 5     B  499922 Urban
# 6     B  500016 Rural
# 7     C 1000912 Total
# 8     C  501638 Urban
# 9     C  499274 Rural
#10     D  999629 Total
#11     D  499804 Urban
#12     D  499825 Rural
#13     E 1000303 Total
#14     E  499917 Urban
#15     E  500386 Rural

对应的一个data.table解决方案:

dt <- setDT(df)
rbindlist(list(dt[, .(Pop = sum(Pop), Res = 'Total'), Reg], dt), use.names = TRUE)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为因子的每个级别附加一行总和 的相关文章

  • 计算 R 行中的非零条目数

    我有以下类型的数据 mode1 mode2 mode3 1 8 1 0 2 0 0 0 3 6 5 4 4 1 2 3 5 1 1 1 数据使用dput structure list mode1 c 8L 0L 6L 1L 1L mode2
  • StatET调试工具

    我想我只是很密集 但我似乎无法弄清楚如何在 Eclipse 中的 R 中使用调试工具 StatET 插件 有人有关于这个主题的任何提示或教程吗 StatET 2 00 现在对高级 可视化调试提供实验性支持 需要 Eclipse 3 6 或
  • 我如何查看 quantmod 包中所有可用的数据系列?

    如何显示可用的所有报价 数据系列的列表 例如使用雅虎的 getSymbols 我不知道有什么办法 TTR包有一个功能 stockSymbols 下载 NYSE AMEX 和 NASDAQ 的所有当前代码 它试图将它们采用雅虎可接受的格式 但
  • 获取包含矩阵行内最大值的列名称,该矩阵在数组内包含单独的最大值

    例如给出 dim1 lt c P PO C T dim2 lt c LL RR R Y dim3 lt c Jerry1 Jerry2 Jerry3 Q lt array 1 48 c 4 4 3 dimnames list dim1 di
  • 将整个包传递给雪簇

    我正在尝试并行化 使用snow parLapply 一些依赖于包 即除snow 调用函数中引用的对象parLapply必须使用显式传递给集群clusterExport 有没有办法将整个包传递到集群 而不必显式命名每个函数 包括用户函数调用的
  • 是否有weighted.median()函数?

    我正在寻找类似形式的东西weighted mean 我通过搜索找到了一些解决方案 这些解决方案写出了整个函数 但希望有一些更用户友好的解决方案 以下软件包都有计算加权中位数的函数 aroma light isotone limma cwhm
  • 使用“assign()”为列表项分配值

    首先了解一些背景 我写了一个中缀函数 本质上取代了这个习惯用法 x length x 1 lt y 或者简单地说x lt append x y 对于向量 这里是 lt function x y xcall lt substitute x x
  • 使用data.table进行聚合

    经过 SO 用户的多次建议后 我终于尝试将我的代码转换为使用data table library data table DT lt data table plate paste0 plate rep 1 2 each 5 id rep c
  • 如何从 R 中的多列中获取计数?

    我有一个包含三列的数据框 State1 State2 State3 有没有一种方法可以使用所有三列 最好使用 dplyr 并且没有显式循环 来获取一个数据帧中每个状态的计数 我只知道如何做一栏 df gt group by State1 g
  • 计算字符串向量中连续数字的函数

    我想创建一个函数 它接受至少 1 个元素的字符串对象并包含数字 2 到 5 并确定是否存在至少 N 长度的连续数字 其中 N 是实际数字值 如果是 则返回字符串 true 否则返回字符串 false 例如 Input 555123 Outp
  • ggplot 的每个方面都有不同的 `geom_hline()`

    这个问题在这里已经有答案了 library tidyverse ggplot mpg aes cty hwy geom point facet grid year fl geom hline yintercept mean mpg hwy
  • 上传到 Shiny 服务器后在 R 中解压文件

    我正在尝试在我们的本地服务器上使用 Shiny 来构建一个应用程序 允许用户上传包含 ESRI shapefile 和关联文件的 zip 文件 Shiny 服务器的 fileInput 可以获取数据 并且当它这样做时 它会将其存储在临时目录
  • 使用操作按钮在闪亮的 R 中添加包含现有数据框的新行

    我正在构建一个闪亮的表单 它将从 textInput 字段获取数据 并将这些输入与文本文件 将通过文件输入上传 组合起来 并在主面板中显示输出 有一个操作按钮用于第一次更新数据 从文本输入中获取数据并与处理后的文本文件合并 我添加了另一个操
  • rPlot 工具提示问题

    我有一个使用 rCharts 工具提示的简单示例 但似乎不起作用 set seed 1 test lt data frame x rnorm 100 y rnorm 100 rPlot y x data test type point to
  • 将动物园转换为数据框

    我转换了一个zoo time series到数据框中R日期成为数据框的索引 有没有办法将日期表示为数据框中的普通列 monthly df lt data frame monthly zoo head monthly zoo head mon
  • 如何使用合并或替换来更新 R 中具有多列的表

    我想做一些与这个问题非常相似的事情 如何使用 merge 更新 R 中的表 https stackoverflow com questions 3190118 how to use merge to update a table in r
  • 函数速度测试的奇怪结果

    我编写了一个使用递归来查找最大公因数 分母 的函数 gt gcd function a b if length a length b gt 1 warning Only scalars allowed using first element
  • 如何绘制 Voronoi 曲面细分的多边形而不是线段?

    我找到了一种使用 ggplot2 绘制 Voronoi 曲面细分的分段的方法 library deldir library ggplot2 library ggthemes set seed 123 df lt data frame lat
  • ggplot2 的 fortify 函数出错

    我在 ggplot2 中使用 fortify 方法时收到此错误 Error in function classes fdef mtable unable to find an inherited method for function pr
  • 根据列中的部分字符串匹配选择数据框行

    我想根据列中字符串的部分匹配从数据框中选择行 例如列 x 包含字符串 hsa 使用sqldf if它有一个like语法 我会做类似的事情 select from lt gt where x like hsa 很遗憾 sqldf不支持该语法

随机推荐

  • 功能规格和视图规格之间有什么区别吗?

    我有一个关于水豚干燥度的问题here https stackoverflow com questions 35255786 what is the correct usage of within method in capybara 352
  • DRF多对一反向查找

    我有一个返回宠物及其主人的 API 端点 每个所有者都有一个名字和一个或多个 pets 每只宠物都有一个名字和one owner Django 模型示例 class Owner models Model name models CharFi
  • 为什么控制器响应将模型字段名称设置为小写?

    在我的 NET Core 项目中 在所有控制器的响应中 对象字段均以小写形式出现在字段名称的前一个或两个字母中 iD PARAM foo cD PROM bar txT OFFICER lorem cN NEW PARAM fub iD S
  • 链接器错误,静态常量似乎没有被 odr 使用

    当您了解细节时 odr used 标准中的定义非常令人困惑 至少对我来说是这样 我通常依赖 如果引用 的非正式定义 except当左值到右值的转换可用时 对于整型常量 它们应该被视为右值 这似乎应该将其排除在引用规则之外 这是我无法链接的示
  • 如果总是与同一事物进行比较,是否有办法缩短条件?

    当我需要编写一个反复比较同一项目的条件时 我总是觉得很烦人 因为我会多次输入该项目 string x textBox1 Text if x apple x orange x banana 我想要这样的东西 但这当然不是正确的语法 if x
  • solveJsonModule 无法与 Angular 10 一起运行?

    我的全新 Angular 10 项目的资产文件夹中有一个基本的 JSON 文件 角度 CLI 10 0 1 节点 14 5 0 操作系统 win32 x64 TSC 版本 3 9 5 在我的 tsconfig json 中我有 compil
  • 从 Nib 或 Storyboard 设置 WKWebView 上的 WKWebViewConfiguration

    在 iOS 11 中 Apple 添加了在笔尖和情节提要上添加 WKWebViews 出口的功能集 使用自动设置的默认 WKWebViewConfiguration 时 它似乎工作正常 但是 我希望能够使用自定义 WKWebViewConf
  • 如何从高图表中删除“值”和“系列”?

    I m using highcharts on my website which looks great but I now want to remove these two labels from the chart 我尝试禁用各种标签
  • 如何获取google地图上的平均交通数据

    我想像这样在谷歌地图上显示平均流量层 但是 这张地图显示的是实时流量数据 而不是我想在谷歌地图上显示一段时间内的平均流量 这可能吗 或者任何其他地图 API 可以提供帮助吗 请为该问题加注星标问题跟踪器链接 https issuetrack
  • 如何在com.google.android.material.chip.Chip上设置chipText?

    我正在调查以下提供的材料成分 implementation group com google android material name material version 1 0 0 alpha3 namely com google and
  • PHP 彗星 usleep 阻塞 apache mpm?

    我那里有一颗彗星我以这种方式运行 while 循环 items statement gt fetchAll statement is a PDO Statement iteration 0 while count items 0 itera
  • 使用复制的 git 存储库安全吗?

    如果我使用以下命令复制跟踪文件夹rsync a or cp R 然后我可以像使用 git 克隆一样使用该副本吗 或者这会导致各种奇怪的问题吗 这一切都在我的计算机上运行 因此没有其他人访问该存储库 显然 git cloned 目录知道它是从
  • 动态计算 Pandas 中公式的表达式

    我想使用一个或多个数据帧列执行算术pd eval 具体来说 我想移植以下计算公式的代码 x 5 df2 D df1 A df1 B x 使用代码pd eval 使用理由pd eval是我想自动化许多工作流程 因此动态创建它们对我很有用 我的
  • 在 Linux 上以汇编形式输出整数

    这需要在纯汇编中完成 即没有库或对 C 的调用 我理解问题的本质 需要将整数除以 10 将一位数余数转换为 ASCII 输出 然后用商重复该过程 但由于某种原因 它不起作用 我在 x86 上使用 NASM 这是我到目前为止所拥有的 不输出任
  • UICollectionView 的单元格消失

    发生了什么 目前我有一个应用程序使用两个UICollectionViews里面一个UITableView 通过这种方式 我创建了一个看起来像 Pulse News 的应用程序 我的问题是 有时第 6 行和第 11 行完全消失 在本应是单元格
  • 我想通过 graph api 分享朋友的帖子

    我想通过 graph api 在 facebook 上分享一些帖子 但是没有这样的api 只有 饲料 存在 我尝试使用 me feed 图形 API 操作来分享我朋友的帖子 以及页面中的帖子 但它和我在 Facebook 网站上分享的不一样
  • 开发 BlackBerry OS6 需要哪个版本的 Blackberry JRE

    我下载了适用于 BlackBerry 的 Eclipse 插件 默认情况下具有 BlackBerry OS 7 运行时 我需要定位 BlackBerry OS 6 和 OS 7 设备 这也适用于 BlackBerry OS 6 还是我需要更
  • 加快我的批处理文件解析速度

    我有一个批处理文件 它从一个 txt 文件中获取输入 如下所示 Microsoft R Windows Script Host Version 5 8 Copyright C Microsoft Corporation All rights
  • System.String[] Split(Char[])' 方法无法识别

    我有以下数据 我想使用 Linq to Entities 过滤数据 但我收到异常 LINQ to Entities 无法识别方法 System String Split Char 方法 并且该方法不能翻译为 存储表达式 我的表中有以下数据
  • 为因子的每个级别附加一行总和

    我想为每个 Reg 添加一行总和 如下所示 Reg Res Pop 1 Total 1000915 2 A Urban 500414 3 A Rural 500501 4 Total 999938 5 B Urban 499922 6 B