聚合列 - 如何处理不均匀的数据帧

2024-03-19

我想聚合每个Chr每第三行(三行的总和)。然而,自从我的df不能被 3 整除,我不知道如何处理最后剩下的行,它可能只是 1 或 2 行。如果还剩下两行,我想将剩下的两行相加。

  • Input
data.frame(Chr = c("chr1","chr1","chr1","chr1","chr1","chr2","chr2","chr2","chr2","chr2","chr3"),
           value = c(1,3,1,3,5,6,3,1,3,5,0),
           seq = c(1,2,3,4,5,1,2,3,4,5,6))
  • 输出(使用dplyr mutate,保留所有列)
data.frame(Chr = c("chr1","chr1","chr1","chr1","chr1","chr2","chr2","chr2","chr2","chr2","chr3"),
           value = c(1,3,1,3,5,6,3,1,3,5,0),
           seq = c(1,2,3,4,5,1,2,3,4,5,6),
           agg = c(5,5,5,8,8,10,10,10,8,8,8))

您可以使用(row_number()-1) %/% 3每 3 个观察值进行分组。

library(dplyr)

df %>%
  mutate(Grp = (row_number()-1) %/% 3 + 1, .by = Chr) %>%
  mutate(agg = sum(value), .by = c(Chr, Grp))

#     Chr value seq Grp agg
# 1  chr1     1   1   1   5
# 2  chr1     3   2   1   5
# 3  chr1     1   3   1   5
# 4  chr1     3   4   2   8
# 5  chr1     5   5   2   8
# 6  chr2     6   1   1  10
# 7  chr2     3   2   1  10
# 8  chr2     1   3   1  10
# 9  chr2     3   4   2   8
# 10 chr2     5   5   2   8
# 11 chr3     0   6   1   0

If the Grp不需要列,您可以将其删除select(-Grp).

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

聚合列 - 如何处理不均匀的数据帧 的相关文章

随机推荐

  • 在具有序列化问题的 Dataframe 上调用 UDF

    我在 UDF 博客上查看了一些似乎有效的示例 但实际上当我运行它们时 它们给出了臭名昭著的任务不可序列化错误 我觉得奇怪的是 这篇文章已经发表了 却没有提到这一点 运行 Spark 2 4 代码 非常简单 Spark 中一定有什么变化 de
  • 查询 MediaStore:连接缩略图和图像(在 ID 上)

    我正在为 Android 开发一个 照片库 类型的应用程序 它最初是作为 Udacity 开发 Android 应用程序的最终项目 因此它的整体结构 活动 内容提供者等 应该非常健全 并且已被 Udacity Google 接受认证 然而
  • Android中如何混淆字符串?

    我想混淆我的 api url 我可以使用 Proguard 吗 如果是 我该怎么做 以及如何在 Proguard 配置文件中添加类来混淆类中存在的方法和变量 您现在可以使用新的 gradle 插件 库来有效地混淆类中的字符串 请在此处查看
  • 如何使用 Spark 处理一系列 hbase 行?

    我正在尝试使用 HBase 作为 Spark 的数据源 因此 第一步是从 HBase 表创建 RDD 由于 Spark 使用 hadoop 输入格式 我可以找到一种通过创建 rdd 来使用所有行的方法http www vidyasource
  • 将 HTML 转换为图像

    Duplicate 创建网页缩略图的最佳方法是什么 https stackoverflow com questions 65078 what is the best way to create a web page thumbnail 我想
  • 如何检查所选文本是否为粗体(contenteditable)

    我正在使用内置的 html 实现自定义文本编辑器contenteditable特征 我需要知道用户何时在文本编辑器上选择文本 无论它是否为粗体 这是我现在所拥有的 HTML
  • 私有区块链与 Hashgraph、Ripple、BigChainDb

    我一直在研究不同区块链的一些用例 最后我得出的结论是 建立一个私有区块链相当于拥有一个分布式数据库 在其之上添加了区块链概念 如不可篡改 数字签名等 例如 Bigchaindb 好吧 如果我们确实需要智能合约功能 那么分布式数据库可能无法工
  • Android:无论如何想知道是否选中了“未知来源”吗?

    有什么方法可以查明用户是否选中了 应用程序设置 菜单中的 未知来源 复选框 您可以使用INSTALL NON MARKET APPS http developer android com reference android provider
  • MVC3 AntiForgeryToken 在 Ajax 登录时中断

    ASP NET MVC 的防伪令牌机制是基于当前HttpContext User 当您调用时 它使用该值来构造令牌Html AntiForgeryToken 基本上是可以的 见解释最后一段在这里 https stackoverflow co
  • Hibernate 的浮点映射精度

    我试图在 MySQL 数据库中存储浮点数 但 Hibernate 获得的值与列中存储的值不同 在我的应用程序中我计算 float subtotal 160 5f float ammount float subtotal 0 1f this
  • 使 div 始终停留在页面内容的底部,即使有滚动条

    我希望实现与以下问题相反的行为 CSS 将 Div 推到页面底部 https stackoverflow com questions 2140763 css push div to bottom of page 也就是说 当内容溢出到滚动条
  • 在浏览器中访问 HTTP/2 预告片

    当前是否有任何浏览器支持在 HTTP 2 响应中访问预告片 例如 最新的 Fetch API 规范提到预告片是通过 Response trailer 公开的 有支持该功能的浏览器吗 您可以在以下位置找到测试用例http wpt fyi fe
  • sed - 执行替换后从列出的值中删除最后一个逗号

    我在用着sed替换我的文件中的新行 n with 效果很好 但是在我的最后一项中 我不想要 我怎样才能删除这个 Example sed s n g myfile out gt myfile csv Output 1 2 3 4 5 6 那么
  • 提交 iOS 版本更新,无需重新上传屏幕截图和应用预览

    我想提交 iOS 应用程序的更新 但这似乎需要提交新版本 其中需要重新输入所有信息 屏幕截图 视频等 我找不到任何明确说明可以为已批准的现有版本单独提交新版本的内容 这可能吗 如果没有 有没有办法在 iTunesConnect 中复制所有先
  • 在 WordPress 中为头像图像添加类

    我一直在尝试使用 get avatar 在每个帖子下显示作者的头像在 WordPress 模板中使用应用类 但我找不到将 class pic 2 添加到 Gravatar 图像代码的方法 甚至找不到将 Gravatar 高度和宽度分别更改为
  • 如何将颜色资源 id 的 int 数组从 array.xml 传递到 SwipeRefreshLayout.setColorSchemeResources

    我已经让 Android 的 SwipeRefreshLayout 正常工作 并尝试自定义整个应用程序中所有拉动刷新的颜色 为了遵循 DRY 原则 我尝试将所需的颜色移动到 array xml 如下所示
  • 我们可以使用自己的应用程序实现放大手势吗?

    我需要使用我的 Android 应用程序实现放大手势 此信息的部分或全部仅适用于运行 Android 4 2 的 Nexus 7 设备 检查更多关于放大手势 http pauljadam com androida11y magnificat
  • 获取AngularJS中的对象长度未定义

    如何获得物体的长度 在控制台中我的对象如下所示 Object 2 true 3 true 4 true length会给我不明确的 我只想得到results 3对于这个案例 var keys Object keys objInstance
  • 如何找到一条边上距离另一个点最近的点

    我正在寻找一种方法来有效地找到边缘上距离其他点最近的点 假设我知道两个点 它们是边的顶点 我可以计算穿过这些点的线的方程 计算边缘上距离平面上其他点最近的点的最佳方法是什么 我想发布一张图片 但我没有足够的声誉点 假设这条线由 x1 y1
  • 聚合列 - 如何处理不均匀的数据帧

    我想聚合每个Chr每第三行 三行的总和 然而 自从我的df不能被 3 整除 我不知道如何处理最后剩下的行 它可能只是 1 或 2 行 如果还剩下两行 我想将剩下的两行相加 Input data frame Chr c chr1 chr1 c