动态选择group_by的多列

2023-12-02

当存在多个分组变量时,group_by 的数据屏蔽不起作用。

粘贴下面的代码

grpByCols <- "model"

mpg%>%
  group_by(.data[[grpByCols]])

grpByCols <- c("model", "manufacturer")

mpg%>%
  group_by(.data[[grpByCols]])

第一个 group_by 有效,第二个失败。

粘贴下面的运行输出

> grpByCols <- "model"
> 
> mpg%>%
+   group_by(.data[[grpByCols]])
# A tibble: 234 x 11
# Groups:   model [38]
   manufacturer model      displ  year   cyl trans      drv     cty   hwy fl    class  
   <chr>        <chr>      <dbl> <int> <int> <chr>      <chr> <int> <int> <chr> <chr>  
 1 audi         a4           1.8  1999     4 auto(l5)   f        18    29 p     compact
 2 audi         a4           1.8  1999     4 manual(m5) f        21    29 p     compact
 3 audi         a4           2    2008     4 manual(m6) f        20    31 p     compact
 4 audi         a4           2    2008     4 auto(av)   f        21    30 p     compact
 5 audi         a4           2.8  1999     6 auto(l5)   f        16    26 p     compact
 6 audi         a4           2.8  1999     6 manual(m5) f        18    26 p     compact
 7 audi         a4           3.1  2008     6 auto(av)   f        18    27 p     compact
 8 audi         a4 quattro   1.8  1999     4 manual(m5) 4        18    26 p     compact
 9 audi         a4 quattro   1.8  1999     4 auto(l5)   4        16    25 p     compact
10 audi         a4 quattro   2    2008     4 manual(m6) 4        20    28 p     compact
# … with 224 more rows
> 
> grpByCols <- c("model", "manufacturer")
> 
> mpg%>%
+   group_by(.data[[grpByCols]])
Error: Problem with `mutate()` input `..1`.
x Must subset the data pronoun with a string.
ℹ Input `..1` is `<unknown>`.
Run `rlang::last_error()` to see where the error occurred.
> 

如果您有任何想法来完成这项工作,请告诉我


一个简单的方法是使用across()函数来自dplyr.

mpg %>% group_by(across(all_of(grpByCols)))
# A tibble: 234 × 11
# Groups:   model, manufacturer [38]
   manufacturer model      displ  year   cyl trans drv     cty   hwy fl    class
   <chr>        <chr>      <dbl> <int> <int> <chr> <chr> <int> <int> <chr> <chr>
 1 audi         a4           1.8  1999     4 auto… f        18    29 p     comp…
 2 audi         a4           1.8  1999     4 manu… f        21    29 p     comp…
 3 audi         a4           2    2008     4 manu… f        20    31 p     comp…
 4 audi         a4           2    2008     4 auto… f        21    30 p     comp…
 5 audi         a4           2.8  1999     6 auto… f        16    26 p     comp…
 6 audi         a4           2.8  1999     6 manu… f        18    26 p     comp…
 7 audi         a4           3.1  2008     6 auto… f        18    27 p     comp…
 8 audi         a4 quattro   1.8  1999     4 manu… 4        18    26 p     comp…
 9 audi         a4 quattro   1.8  1999     4 auto… 4        16    25 p     comp…
10 audi         a4 quattro   2    2008     4 manu… 4        20    28 p     comp…
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

动态选择group_by的多列 的相关文章

  • R Shiny:如何将无功值从闪亮模块返回到主服务器功能?

    我有一个简单的玩具示例 它使用 add removeBtn 模块在 第一个 模块中添加和删除 UI 我需要跟踪单击 添加 删除 的次数 如果我不使用模块 这很容易 但我试图在嵌套模块的上下文中执行此操作 代码如下 但基本上 我似乎无法访问主
  • 从 data.frame 在 ggplot 图例中添加信息

    我想在图例中添加信息 哪个传感器具有该值 这是我的代码 z lt data frame a c sensor 1 sensor 2 sensor 3 sensor 4 sensor 5 sensor 6 sensor 7 sensor 8
  • 如何按定义的顺序将图像合并到一个文件中

    我有大约 100 张图像 png 我不想手动执行此操作 而是希望将它们按照定义的顺序 基于文件名 并排放置在一个 pdf 中 每行 12 个图像 有人有什么建议吗 我按照下面托马斯告诉我的方法尝试了 它把它们贴在旁边有一个黑边 我怎样才能去
  • R在Windows平台Rstudio上打印data.frames中的UTF-8代码

    当数据框中存在UTF 8字符时 将无法正常显示 例如 以下内容是正确的 gt U6731 1 朱 但是当我将其放入数据框中并打印出来时 它是 gt data frame x U6731 x 1
  • 在ggplot中设置y轴中断

    我在代码中设置中断时遇到困难 我尝试添加breaks seq 0 100 by 20 但似乎无法让它正常工作 本质上我希望 Y 轴从 0 到 100 每 20 个刻度一次 YearlyCI lt read table header T te
  • dplyr:连接中的 NSE (by)

    我很难弄清楚如何使用 dplyr left join 和 NSE 连接两个表 问题是我无法为 by 提供正确的值 我想我现在已经找到了解决方案 但感觉我正在以一种额外复杂的方式来做 因此 如果您知道更简单 更优雅的解决方案 请告诉我 这就是
  • 增加雷达图中长轴标签的空间

    我想创建一个雷达图ggirahExtra ggRadar 问题是我的标签很长并且被剪掉了 我想我可以通过添加在标签和绘图之间创建更多空间margin margin 0 0 2 0 cm to element text in axis tex
  • ggplot:如何限制条形图中的输出,以便仅显示最频繁出现的情况?

    我几个小时以来一直在寻找这个简单的东西 但没有结果 我有一个数据框 其中一列为变量 国家 地区 我想要两件事以下 绘制最常见的国家 地区 最常见的位于顶部 找到部分解决方案EDIT找到完整的解决方案 gt gt 重点问题是根据频率限制条形图
  • R:如何将字符/数字转为1,NA转为0?

    有没有一种简单的方法可以将列的字符 数字变为 1 将 NA 变为 0 这里有一些示例数据 我想将其应用于 3 4 structure list Item Code c 176L 187L 191L 201L 217L 220L Item x
  • 如何在 R 中的 dygraph 标题中使用 UTF-8 字符

    使用 Rstudio Windows8 当我使用 dygraph 函数绘制时间序列时 在尝试在主标题中使用 UTF 8 字符时遇到问题 library dygraphs dygraph AirPassengers main T tulo 这
  • 如何将旋转的 NetCDF 转换回正常的纬度/经度网格?

    我有一个带有旋转坐标的 NetCDF 文件 我需要将其转换为正常的纬度 经度坐标 经度为 180到180 纬度为 90到90 library ncdf4 nc open dat nf 对于尺寸 它显示 1 5 variables exclu
  • 如何像在facet_grid中一样在facet_wrap中定位条带标签

    我想在使用时删除多余的条带标签facet wrap 并用两个变量进行分面 并且都是自由尺度的 例如 这个facet wrap下图的版本 library ggplot2 dt lt txhousing txhousing year in 20
  • StatET调试工具

    我想我只是很密集 但我似乎无法弄清楚如何在 Eclipse 中的 R 中使用调试工具 StatET 插件 有人有关于这个主题的任何提示或教程吗 StatET 2 00 现在对高级 可视化调试提供实验性支持 需要 Eclipse 3 6 或
  • 在 R 上安装 TDA 包时出错:目标“diag.o”的配方失败

    使用 Ubuntu 16 04 和 R 3 4 1 安装 R 包 TDA 时收到错误消息 它似乎与制作 CGAL diag cpp 和 或 diag o 最后的完整错误打印输出 有关 我仔细看了这个 在 R 上安装 TDA 包时出错 htt
  • 如何将参数从 Excel/VBA 传递到 Rstudio 中的脚本

    我正在尝试使用 Rstudio 从 VBA 打开 R 脚本 同时将参数传递给 R 脚本 然后我可以使用 commandArgs 访问该脚本 该问题与此处描述的问题非常相似 WScript Shell 用于运行路径中包含空格且来自 VBA 的
  • 条件和分组 mutate dplyr

    假设我有以下每个抽屉库存增加的数据 gt socks year drawer nbr sock total 1990 1 2 1991 1 2 1990 2 3 1991 2 4 1990 3 2 1991 3 1 我想要一个二进制变量来标
  • 将整个包传递给雪簇

    我正在尝试并行化 使用snow parLapply 一些依赖于包 即除snow 调用函数中引用的对象parLapply必须使用显式传递给集群clusterExport 有没有办法将整个包传递到集群 而不必显式命名每个函数 包括用户函数调用的
  • ggplot2:带有 geom_line 的 x 轴因子不起作用

    我想要一个线图 其中value绘制为函数expt每级一行var 这是我的数据 lines lt expt var value 1 none p 0 183065327746799 2 none p 0 254234138384241 3 n
  • 使用data.table进行聚合

    经过 SO 用户的多次建议后 我终于尝试将我的代码转换为使用data table library data table DT lt data table plate paste0 plate rep 1 2 each 5 id rep c
  • 闪亮井板宽度

    library shiny library shinydashboard ui lt dashboardPage dashboardHeader dashboardSidebar dashboardBody wellPanel tags d

随机推荐

  • 非动态自定义 HTTP 标头

    根据这个Ogg 媒体上的 Mozilla 文章 媒体在浏览器中可以更加无缝地工作X Content Duration标题 给出该片段的长度 以秒为单位 假设我将该长度存储在某个地方 当然在数据库中 也许也在文件名本身中 video file
  • 数据库陷入“正在恢复”状态

    我备份了一个数据库 BACKUP DATABASE MyDatabase TO DISK MyDatabase bak WITH INIT overwrite existing 然后尝试恢复它 RESTORE DATABASE MyData
  • 我想处理ios中的通话状态

    我想获取电话的状态 无论是已拨 已连接还是已断开 我尝试了自己 但无法获得状态 NSString phoneNumber telprompt stringByAppendingString 9723539389 UIApplication
  • 剧作家:可以为 1 次测试指定工作人员数量或浏览器吗?

    我的套件设置为使用 3 个工作线程 2 个桌面和 2 个移动设备 针对 4 个浏览器运行 我有一个测试 我需要要么不并行运行 要么限制只在一个桌面浏览器中运行 那可能吗 我需要这样做的原因是测试正在触发一个可能需要几秒钟才能运行的事件 运行
  • 通过 gmail 在 CodeIgniter 中发送电子邮件

    我正在按照教程使用 gmail 发送电子邮件 但是我得到的页面只是挂起 甚至没有加载错误 我正在使用 MAMP 所以这可能是它不起作用的原因 class Email extends CI Controller public function
  • 更改 JTextField 启用的背景颜色

    我有一个问题JTextField背景颜色 如何在启用的文本字段中更改它 编辑时 setBackground仅适用于禁用的文本字段 UIManager put可以更改窗口中所有文本字段的背景 但我只想对其中一个文本字段执行此操作 有多种方法可
  • 如何在存储过程中循环访问表?

    这个问题是从this one 我有两个表需要查询并从中收集一些计算所得的总和 我需要一个基于单位的结果集 每个单位一行 并将它们的计算数据折叠到该行中 这两个表包含以下相关成员 客户类别日志 Unit varchar 25 MemberNo
  • 检索事件详细信息时展开 singleValueExtendedProperty 不起作用

    我正在尝试使用 Microsoft Graph 检索事件的自定义属性值 自定义属性是由 Outlook Office js 添加创建的 这是请求 v1 0 me events id expand singleValueExtendedPro
  • 在 Spring MVC 3 中传递请求参数

    我只想使用请求参数发送下拉列表的值 就我而言是 Kidscalcula web start htm klasid myValueHere 我知道一种方法 但用它来做这件事听起来很不合理 如果我很无聊 我可能会编写一些 jQuery 来发布帖
  • 如果“foreach”中的所有值均为 true

    我正在编写一个 Powershell 脚本来查找所有Azure 存储帐户其中所有容器的 LastModifiedDate 均小于 6 个月 如果只有一个容器对于该声明为 FALSE 则 ASA 应被忽略 实现这一目标的一种方法是获取一个存储
  • ajax“回调未定义”错误

    我目前正在尝试返回数据库调用来填充下拉框 然而 当我循环访问返回的列表时 我收到 回调未定义 错误 我已经用两种方法尝试过这段代码 但都不起作用 我试过了 Vehicle KovId value change function var ko
  • 插入包含从其他行计算得出的数据的新行

    假设我有一个名为 MyTable 的 MySQL 表 如下所示 Id Type Value 0 A 1 0 B 1 1 A 2 1 B 3 2 A 5 2 B 8 并且 对于每个Id 我想插入一个新行 类型为C whose Value是类型
  • 如何在检查器编辑器脚本中绘制列表及其所有项目?

    主要脚本 using System Collections using System Collections Generic using UnityEngine public class DialogueTrigger MonoBehavi
  • -[NSDateFormatter dateFromString:] 返回 nil

    NSString lower NSString stringWithFormat newDates objectAtIndex 0 NSString higher NSString stringWithFormat newDates obj
  • TypeScript 无法推断泛型方法中的约束类型?

    我是 TypeScript 的新手 具有很强的 C 背景 我想知道类型推断在 TypeScript 中的以下情况下似乎不起作用但在 C 中却起作用的确切原因是什么 打字稿 interface IResult interface IReque
  • AudioQueue 录制时播放警报声音(振动)

    好像不能播放提示音 AudioServicesPlayAlertSound kSystemSoundID Vibrate 而 AudioQueue 用于录制音频 那是对的吗 也许我做错了什么 除了暂停录音之外 还有其他方法吗 TIA 通过阅
  • Greasemonkey 脚本每分钟重新加载页面

    如何每 60 秒重新加载一个页面 我的尝试 setTimeout location reload 1 60 60 我不确定这些数字的含义 或者如何调整它们以仅在 60 秒后重新加载 setTimeout function location
  • iOS 中 MKMapView 上的自定义图钉?

    我已经尝试了几乎所有方法来显示图像 而不是 MKMapView 上的默认红色图钉 互联网上有很多关于这个问题的答案 但他们都一直给我这个 MKAnnotationView mapView MKMapView mapView viewForA
  • R 根据值列表正确检查提供的参数?

    在一篇评论中关于如何 正确 指定 R 中的可选参数的已接受答案 LouisMaddox 说 missing 但是 当您想根据列表正确检查提供的参数时 这是无用的 对于一个函数Foo带参数bar和可选开关a or b 默认值 a 你可以写Fo
  • 动态选择group_by的多列

    当存在多个分组变量时 group by 的数据屏蔽不起作用 粘贴下面的代码 grpByCols lt model mpg gt group by data grpByCols grpByCols lt c model manufacture