将最大值添加到 R 中的新列[重复]

2023-12-09

这是数据:

a <- c(1,1,2,2,3)  
b <- c(1,3,5,9,4)
df1 <- data.frame(a,b)
df1

a b
1 1
1 3
2 5
2 9
3 4

我想要这样的东西:

a b max
1 1 3
1 3 3
2 5 9
2 9 9
3 4 4

我的问题:如何计算按“a”列与“b”列中的值分组的“max”列?

我对聚合函数做了一些研究,但仍然找不到解决方案。

请帮忙


我们可以使用 group by 函数之一,它允许创建一列,而不仅仅是summarise输出。这data.table选项与作业一样简洁(:=)将创建一个新列。我们将'data.frame'转换为'data.table',按'a'分组,得到'b'的最大值(max(b)) 并赋值 (:=)作为一个新列。如果我们需要摘要,请将其包装起来list代替:=.

library(data.table)
setDT(df1)[, Max:= max(b), a]

or use ave from base R。这是罕见的基本函数之一,它将输出与原始数据集的行数相同的长度。作为第一个参数,我们使用变量来获取maxof、2nd、3rd 等(如果有)将是分组列。指定FUN。默认情况下,如果我们不指定任何FUN,它将需要mean按组。

df1$Max <- with(df1, ave(b, a, FUN=max)

or with dplyr. The dplyr and data.table解决方案在方式上是灵活的,以获得summary或者在原始数据集上获取一个新列。和dplyr,在我们按 'a' 分组之后,使用mutate创建一个新列。相反,如果我们需要一个汇总版本,summarise函数可以替代mutate(这将给出类似的输出aggregate).

library(dplyr)
df1 %>%
   group_by(a) %>%
   mutate(Max = max(b))
#      a     b   Max
#   (dbl) (dbl) (dbl)
#1     1     1     3
#2     1     3     3
#3     2     5     9
#4     2     9     9
#5     3     4     4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将最大值添加到 R 中的新列[重复] 的相关文章

  • 长变量名在 dplyr 中失败

    长度超过 39 个字符的字符串在 dplyr 中失败 返回错误 错误 索引超出范围 我错过了什么还是这是一个错误 40 个字符不起作用 library dplyr names iris 5 lt vvv 5vvv10vvv15vvv20vv
  • 有没有办法在 RStudio 中调试 RScript 调用?

    假设我从命令行运行 R 脚本 如下所示 Rscript prog R x y z 我想检查某一行的代码 目前 我无法在 RStudio 中以交互方式调试它 因为我不知道如何传递参数 由于它设计为从命令行运行 因此如何通过命令行 RStudi
  • 可以明确声明包依赖项的版本吗?

    我倾向于对我编写的代码进行明确而不是隐含的描述 因此 在成功创建自己的包之后 我立即想到的下一件事是如何最好地确保代码的健壮性和可靠性 其中一部分与我的包所依赖的包有关 实际问题 在这方面 是否可以明确声明需要 期望哪个版本的包依赖项 我正
  • 用于清除工作空间和转储存储的 R 全局函数

    我希望创建一个全局函数来清除我的工作区并转储我的内存 我将我的函数称为 cleaner 并希望它执行以下代码 remove list ls gc 我尝试在全局环境中创建该函数 但是当我运行它时 控制台仅打印该函数的文本 在我要获取的函数文件
  • 分离并重新附加“tools:rstudio”

    又名玩火 以下不起作用 rstd obj lt as environment tools rstudio detach tools rstudio attach rstd obj name tools rstudio 好吧 它似乎有效 但随
  • 在 mac (iMac OSX ) 终端中远程运行脚本(r 脚本)到其他计算机

    我有一个小示例脚本 script p r 如下所示 打算在终端中运行 usr bin Rscript sink output capture txt mn lt mean 1 10 and so on much longer list of
  • 将 JSON URL 转换为 R 数据帧

    我在将 JSON 文件 从 API 转换为 R 中的数据帧时遇到问题 例如 URL 我尝试了 S O 的一些不同建议 包括将json数据转换为R中的数据框 https stackoverflow com questions 28683769
  • 如何在不循环的情况下添加组ID?

    我有数据框 例如 productid ordernum p1 10 p2 20 p3 30 p4 5 p5 20 p6 8 我想添加另一列 称为 groupid 它将产品按顺序分组在一起 一旦 sum ordernum 达到 30 分配一个
  • 如何使用 R 中带引号的字符值内的序列读取 CSV?

    这是一个包含两个字符列的 CSV 文件 key value a 所有字符值都用双引号引起来 并且有一个顺序 在值之一内 转义引号加分隔符 我无法通过 read csv readr 中的 read csv 或 data table 中的 fr
  • 如何获得属于五分位数的x?

    我正在大学学习使用 R 进行计量经济学项目 所以请原谅我的笨拙 基本上 使用并给出 一个矩阵 股票价格 行 天 列 公司股票价格 另一个矩阵 市值 行 天 列 公司市值 我必须收集第三个矩阵每天观察的属于市值分布第一五分位数的股票价格 然后
  • R:将 readRDS 应用于 .Rds 文件名的列表对象

    我有几个包含数据帧对象的 Rds 文件 我想对每个文件应用一个函数并将数据帧绑定到单个数据帧中 但是 当我尝试从文件名列表中读取多个 Rds 文件时 我收到错误 FUN X i 中的错误 从连接读取时出错 readRDS 不适用于列表吗 R
  • 从 R 环境中删除对象

    我正在阅读 Hadley 的 Advanced R 在第 8 章中 他说我们可以使用以下方法从环境中删除对象 rm 但是 移除该物体后我仍然可以看到该物体 这是我的代码 e lt new env e a lt 1 e b lt 2 e a
  • R 更改小数位且不四舍五入

    gt signif 1 89 digits 2 1 1 9 我想要1 8 这有点笨拙 但它会起作用并保持所有数字 x lt 1 829380 trunc dec lt function x n floor x 10 n 10 n Resul
  • 为绘图制作 2D 图例 - 双变量分区统计图

    我一直在玩双变量 choropleth 地图 并且一直在如何创建类似于 2d 图例的问题上陷入困境约书亚 史蒂文斯 http www joshuastevens net cartography make a bivariate chorop
  • 为什么这些数字不相等?

    下面的代码显然是错误的 有什么问题 i lt 0 1 i lt i 0 05 i 1 0 15 if i 0 15 cat i equals 0 15 else cat i does not equal 0 15 i does not eq
  • 带 R 的多彩标题

    我想添加颜色某些词在我的图表标题中 我已经能够在这里找到一些先例 http blog revolutionanalytics com 2009 01 multicolor text in r html 具体来说 我希望用撇号括起来的文本 在
  • R:将 JSON 时间格式转换为 POSIX

    我有一个 JSON 字符串 并将其放入数据框中 我能够做到这一点 但我在使用 apply 函数之一将所有时间字符串转换为 POSIX 格式时遇到问题 See here https stackoverflow com questions 90
  • ggplot散点图中的图例问题

    我想使用 ggplot 创建显示方法比较数据的散点图 绘图应包含原始数据 理想线和带误差的拟合线 图例应显示理想线和拟合线的线型 线宽 线颜色 我可以获得大部分我想要的东西 但是图例存在以下问题 图例显示每种线型有 2 条线 为什么 如何解
  • 16 位以上整数的计算

    我有两个大整数 两者都超过 16 位 确切地说是 20 位 而且我知道由于双精度浮点运算 我在使用这些数字进行计算甚至将它们存储在变量中 独立于编程语言 时受到限制 不过 我想也许gmp图书馆应该处理它们 但不幸的是它没有 可以计算更大的整
  • 非闪亮上下文中的反应式对象绑定

    实际问题 你怎样才能近似反应性环境 行为 http shiny rstudio com tutorial lesson6 建立者shiny http shiny rstudio com函数 或者甚至可能在一个函数中使用这些函数无光泽上下文以

随机推荐

  • IBM Worklight Android 4.4 问题,JSON Store 停止工作

    我刚刚将 N4 升级到 Kitkat 并测试了一些使用 IBM Worklight 开发的旧应用程序 让我震惊的是JSON 存储停止工作 我正在提交以下日志 请检查 还有其他人面临同样的问题吗 11 27 11 48 03 078 I js
  • 为索引列表生成 CREATE 脚本

    作为排序规则更改练习的一部分 我有一个索引列表 122 需要删除然后重新创建 如何重新创建这些索引 而不必每次都通过 GUI 并将其编写脚本到查询窗口 我的索引列表是从此脚本获取的 WITH indexCTE AS SELECT Table
  • Elasticsearch:小时分钟秒映射返回空数据

    下面是我为搜索字段创建的映射 PUT sample mapping properties webDateTime1 type date format dd MM yyyy HH mm ss dd MM yyyy hour minute se
  • 将数据放入 gridview 的第二行

    我正在使用 foreach 循环将数据插入到 gridview 中 如下所示 foreach GridViewRow row in grvbillDetail Rows row text row text row int row int 我
  • Travis 与 Firebase 部署 TypeError:this.stream.clearLine 不是函数

    我正在尝试使用 Travis 构建和部署 NodeJs Python 应用程序 这大约是文件夹结构 所有内容都属于同一个存储库 main angular2 client dist node modules django server ser
  • 如何在Python中调用超级构造函数?

    class A def init self print world class B A def init self print hello B output hello 在我使用过的所有其他语言中 超级构造函数都是隐式调用的 如何在 Pyt
  • 上传前获取文件大小、图片宽度和高度

    在上传到我的网站之前 如何使用 jQuery 或 JavaScript 获取文件大小 图像高度和宽度 多张图片上传并带有信息数据预览 Using HTML5 和File API 使用示例URL API 图像源将是表示 Blob 对象的 UR
  • 正则表达式 - 识别分数

    我需要使用正则表达式从菜谱数据库中的表单字段中识别分数 成分将被输入到由两部分组成的表单字段中 第一字段是数量 第二字段是成分 然后 我需要将字段一分解为其小数部分以输入到数据库中 可能的条目包括 1 1 2 1 1 2 以及前面任何一个带
  • 在120个字符后附加readmore标签,并使其在ios中可点击

    数据来自解析器 如果文本超过 120 个字符 那么它应该像 Facebook 一样附加 ReadMore 我已经获得了附加文本的代码 但不知道如何制作可点击的链接 我正在使用 Swift Languge if cell bhikmangaT
  • 如何在 Angular JS Web 应用程序中使用 ckeditor?

    我很难使用ckeditor在我内置的 html 页面中angularjs 我已经尝试了很多例子 ng ckeditor directive ckeditor directive 但这些例子都没有帮助我 我想要一个文本区域 我可以在其中输入图
  • 在 Typescript 类中声明常量

    在 TypeScript 中声明常量的最佳方式是什么class 你不能声明一个常量 你可以声明一个readonly场 它比您期望的常数弱 但可能足够好 class MyClass static readonly staticReadOnly
  • Mac OS X >= 10.6 上的 Finder 文件图标徽章(图标覆盖)

    我正在寻找一种解决方案 可以在 Mac 上使用 cocoa 进行文件图标叠加 图标徽章 就像 Dropbox 在 mac 上所做的那样 有谁知道如何做到这一点 我搜索了 Xcode 文档并研究了scp插件源代码是一种旧的碳代码 有点晚了 但
  • Docker 容器无法到达本地主机端口 4444。为什么呢?

    我容器化了一个应用程序 它是自动化 Selenium 测试的测试驱动程序 Selenium 服务器 也称为 Selenium Hub 在另一个容器以及 Firefox 节点中运行 位于 localhost 4444 下 但我的应用程序无法到
  • 响应.on 是什么意思? Node.js

    我在处理 Node js http 请求时遇到问题 如果我无法弄清楚 我稍后会问一个更大的问题 我有修改过的代码和示例 但我不明白 response on 的含义 阅读有关 Node js 中 http 的更多信息 HTTP 事务剖析 我没
  • 浮点数表示,Java 示例[重复]

    这个问题在这里已经有答案了 您能否解释一下为什么我得到下一个结果 当我运行这个时 System out println 0 2 0 1 我得到 0 1 当我运行这个时 System out println 0 3 0 2 我得到 0 099
  • 在 Blazor 中,“await Task.Run(StateHasChanged)”和“await InvokeAsync(StateHasChanged)”之间有什么区别?

    我最近继承了 Blazor Webassemble 应用程序 但对 dotnet 或 Blazor 的经验很少 一些组件使用await Task Run StateHasChanged 而不是await InvokeAsync StateH
  • 根据字符将 Python 字符串列表拆分为单独的列表

    我试图弄清楚如何根据列表中的字符将以下列表拆分为单独的列表 list 2014 00 03 01 Matt login 0 01 2014 02 06 12 Mary login 0 01 我想在引入每个 符号后创建一个列表 例如 我希望输
  • PayPal 订阅 PDT / IPN - 请

    我在理解贝宝支付方面遇到了很多麻烦 我如何确认用户已成功注册我的订阅 我对 IPN 的了解为 0 但例如 如果用户使用以下命令注册到我的网站 电子邮件受保护 但使用贝宝帐户 电子邮件受保护 付款然后我如何匹配用户 我读到 PDT 不会发送用
  • 使用 jsonpath 获取匹配元素的父级

    假设我有一个如下所示的 JSON 对象 name A sub prop 1 prop 2 prop 3 name B sub prop 7 prop 8 prop 9 我怎样才能得到元素的父元素prop值为2 jsonpath query
  • 将最大值添加到 R 中的新列[重复]

    这个问题在这里已经有答案了 这是数据 a lt c 1 1 2 2 3 b lt c 1 3 5 9 4 df1 lt data frame a b df1 a b 1 1 1 3 2 5 2 9 3 4 我想要这样的东西 a b max