dplyr 流中参考当前 data.frame

2024-04-12

如何在 dpylr 流中引用当前的 data.frame?举个例子,在

library(dplyr)

myresults = tribble(
  ~dataset_name, ~method_group, ~method, ~value,
  'iris',        'other',       'a',     1,
  'wine',        'other',       'b',     2,
  'iris',        'mine',        'c',     3,
  'wine',        'mine',        'd',     4
)

myresults %>%
  mutate(dataset_name='datasets aggregated') %>%
  bind_rows(XXX %>% filter(method=='c') %>% mutate(method_group = 'other'))

我想将当前的 data.frame 与其自身进行行绑定。我应该写什么来代替 XXX ?

在函数中do(), 答案似乎是. https://dplyr.tidyverse.org/reference/do.html。尽管这不是很优雅,而且我不想使用 do,但我设法获得了所需的结果

myresults %>%
  mutate(dataset_name='datasets aggregated') %>%
  do(bind_rows(data.frame(.), data.frame(.) %>% filter(method=='c') %>% mutate(method_group = 'other')))

但这不太好。

我的 R 版本是:

> R.version
               _                           
platform       x86_64-pc-linux-gnu         
arch           x86_64                      
os             linux-gnu                   
system         x86_64, linux-gnu           
status                                     
major          3                           
minor          4.4                         
year           2018                        
month          03                          
day            15                          
svn rev        74408                       
language       R                           
version.string R version 3.4.4 (2018-03-15)
nickname       Someone to Lean On 

我看到的三个选项:

  1. 移动.到内部filter,因为它似乎知道该怎么做:

    myresults %>%
      mutate(dataset_name='datasets aggregated') %>%
      bind_rows(filter(., method=='c') %>% mutate(method_group = 'other'))
    # # A tibble: 5 x 4
    #   dataset_name        method_group method value
    #   <chr>               <chr>        <chr>  <dbl>
    # 1 datasets aggregated other        a          1
    # 2 datasets aggregated other        b          2
    # 3 datasets aggregated mine         c          3
    # 4 datasets aggregated mine         d          4
    # 5 datasets aggregated other        c          3
    
  2. 使用临时变量,中间管道:

    z <- myresults %>% mutate(dataset_name='datasets aggregated')
    bind_rows(z, z %>% filter(method=='c') %>% mutate(method_group = 'other'))
    # # A tibble: 5 x 4
    #   dataset_name        method_group method value
    #   <chr>               <chr>        <chr>  <dbl>
    # 1 datasets aggregated other        a          1
    # 2 datasets aggregated other        b          2
    # 3 datasets aggregated mine         c          3
    # 4 datasets aggregated mine         d          4
    # 5 datasets aggregated other        c          3
    
  3. 类似于你的do执行。 (你不需要data.frame(.),这有点多余,但是do显然并不能取代实例.在嵌套管道内。)

    myresults %>%
      mutate(dataset_name='datasets aggregated') %>%
      do({dat <- .; bind_rows(dat, dat %>% filter(method=='c') %>% mutate(method_group = 'other'))})
    # # A tibble: 5 x 4
    #   dataset_name        method_group method value
    #   <chr>               <chr>        <chr>  <dbl>
    # 1 datasets aggregated other        a          1
    # 2 datasets aggregated other        b          2
    # 3 datasets aggregated mine         c          3
    # 4 datasets aggregated mine         d          4
    # 5 datasets aggregated other        c          3
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

dplyr 流中参考当前 data.frame 的相关文章

  • 在 Shiny 中叠加两个 ggplot

    我有一个非常大的数据集 我正在使用 ggplot 在 Shiny 上绘制它 我有一个与 x 轴上的值相关联的滑块 我想用它对选定的数据子集重新着色 并让其余数据保持原样 最简单的选择是重新创建整个绘图 但由于它是一个大型数据集 因此这是一个
  • stat_function 从函数生成平线

    我有以下代码 library ggplot2 f lt function x if x gt 2 1 x 0 3 else 0 graph lt ggplot data frame x c 0 10 aes x graph lt graph
  • 从 data.frame 中提取时用 NA 填充缺失的列

    我有一个函数 它将具有某些列的数据框作为输入 columns a b z 现在我有一个数据框DF只有很少的这些列DF columns f u z 如果列不在其中 如何创建一个包含所有值为 NA 的列的数据框DF这与DF在柱子上 f u z
  • R data.table 连接不等式条件

    我想使用 data table 包根据多个不等式条件对数据进行子集化 data table 手册中的示例展示了如何使用字符变量执行此操作 但不显示数字不等式 我还了解了如何使用子集函数来执行此操作 但我真的很想利用 data table 二
  • 将所有分号替换为空格 pt2

    我尝试对 2000 多行关键字的列表运行文本分析 但它们的列出方式如下 战略 管理风格 组织 所以当我使用 tm 删除标点符号时 它就变成了 组织的战略管理风格 我认为这在某种程度上破坏了我常用术语的分析 我尝试过使用 vector lt
  • 在 R 中导入 csv 文件时如何保留前导零?

    当我写一个 csv来自 R 的文件 其中我的组名称以前导零值开头 前导零被保留 但是当我导入 csv前导零被删除 组名称被转换为整数 当我导入一个组时 如何保留组名称中的前导零 csvR 中的文件 Example df lt data fr
  • 删除缺失的数据值

    我删除了原始帖子 以便能够发布更大版本的数据集 实际上总共有 418 行 这是我正在进行的生存分析的数据 第一列是 ID 号 其他列标记为 V2 V20 有很多缺失的数据 用 表示 我用coxph 函数来获取以下内容 Saves survi
  • 如何在基数 R 中进行分组

    我想使用以下 SQL 查询来表达base R 没有任何特定的包 select month day count as count avg dep delay as avg delay from flights group by month d
  • 如何总结此R问题中的销售数量、售出酒类数量和花费金额

    我使用以下代码在 R 上上传我的数据 if file exists ames liquor rds url lt https github com ds202 at ISU materials blob master 03 tidyvers
  • RStudio 不会通过 rPython 调用加载所有 Python 模块

    我从 Bash 和 RStudio 中运行相同的脚本时出现一些意外行为 请考虑以下事项 我有一个文件夹 rpython 包含两个脚本 test1 R library rPython setwd rpython python load tes
  • 修改linux下的路径

    虽然我认为我已经接近 Linux 专业人士 但显然我仍然是一个初学者 当我登录服务器时 我需要使用最新版本的R 统计软件 R 安装在 2 个地方 当我运行以下命令时 which R I get usr bin R 进而 R version
  • 空间数据xyz到矩阵

    我有一个大数据框 100 000 行 其中包含 LON LAT VALUE 我想将其转换为矩阵 EPSG 中的坐标 3035 我使用以下命令尝试了 reshape2 包 acast df lon lat value var value 效果
  • 如何从数据框中删除少于 5 个观察值的个体 [重复]

    这个问题在这里已经有答案了 为了澄清这个问题 我将简要描述数据 中的每一行data frame是一个观察值 列代表与该观察值相关的变量 包括 观察到什么个体 观察时间 观察地点等 我想排除 过滤观察值少于 5 个的个体 换句话说 如果 in
  • 在 Lavaan 生长曲线模型中提取个体轨迹

    我已经使用 R 的 Lavaan 包中的 Growth 函数成功地对一项研究的纵向数据进行了建模 我找不到任何关于如何提取每个参与者的预测轨迹的记录 我只能找到整个组的预测轨迹 在摘要输出的 拦截 部分下给出 使用 lavPredict m
  • 按组计算连续行中的值之间的差异

    这是我的一个df 数据框 group value 1 10 1 20 1 25 2 5 2 10 2 15 我需要按组计算连续行中的值之间的差异 所以 我需要一个结果 group value diff 1 10 NA because the
  • R data.table fwrite 到 fread 空间分隔符并清空

    我在使用 fread 以 作为分隔符和散布的空白值时遇到问题 例如 这个 dt lt data table 1 5 1 5 1 5 make a simple table dt 3 V2 NA add a blank in the midd
  • rvest 和 NHL 统计数据的 CSS 选择器问题

    我想从 hockey reference com 中抓取数据 特别是从以下链接中抓取数据 https www hockey reference com leagues NHL 1991 html https www hockey refer
  • 如何绘制每条线之间具有特定距离的图形

    实际上 我尝试绘制一个图形 但它将所有列 线 放在一起并显示 因此它不具有代表性 我尝试制作模拟数据并向您展示我如何绘制它 并向您展示我想要的内容 我不知道如何制作像下面所示的示例的数据 但我在这里做了什么 set seed 1 M lt
  • R 编程常用工具

    如果已经以不同的方式问过这个问题 我深表歉意 但我找不到任何达到我想要的东西 我真的是从其他软件包 SPSS 开始接触 R 的 当我了解真正可以做什么时 我意识到我还需要其他 工具 这让我想到了我的问题 您有哪些用于开发 R 代码的设置 我
  • RStudio 如何确定控制台宽度,为什么它似乎总是出错?

    我刚刚发现wid lt options width在 RStudio 中 它似乎是我日常控制台使用中令人烦恼的根源 或者更确切地说 更接近根源 我应该先说一下 我目前使用的是 R 3 2 2 RStudio 0 99 491 Linux M

随机推荐

  • 在 Android 中向 TabActivity 添加意图

    我查了一些关于如何在android中构建TAB的在线教程 并看到了符合我要求的教程 我很高兴实施它并且效果很好 当我希望每个单独的选项卡推送到一个单独的活动时 问题就出现了 我无法开始并打算传递控制权 我只给出了关于如何制作选项卡的主要代码
  • 如何在 Android Studio 中使用不同的模拟器

    我在 Android Studio 中构建 qemu 模拟器时遇到问题 还有一些其他的 Android 模拟器 如何配置 Android Studio 使用不同的模拟器 我用的是leapdroid模拟器http www leapdroid
  • Java更改和移动非标准XML文件

    我正在使用第三方应用程序 并且想要更改其文件之一 该文件以 XML 格式存储 但文档类型无效 当我尝试读取 use a 时 它会出错 因为文档类型包含 file ReportWiz dtd 如图所示 带引号 我得到一个找不到文件的异常 有没
  • 如何用unicode文件名c++读取二进制文件?

    在我正在从事的项目中 我处理了相当多的字符串操作 字符串从二进制文件及其编码 可以是单字节或双字节 中读取 本质上 我将字符串值读取为vector
  • IntelliJ:“构建”>“重建项目”菜单项与 Maven 全新安装

    For a Maven https en wikipedia org wiki Apache Maven驱动的项目IntelliJ https en wikipedia org wiki IntelliJ IDEA2018年 我该选择什么时
  • 重写内部 UIViewController 方法,因为内部方法给我带来了错误

    重写 UIViewController 内部方法会产生什么后果 UIViewController viewDidMoveToWindow shouldAppearOrDisappear 给我带来了一些问题 它将我的框架调整为我不想要的值有时
  • 在 Spark 中获取上周一

    我正在使用 Spark 2 0 和 Python API 我有一个数据框 其中有一列类型为 DateType 我想在包含最近星期一的数据框中添加一列 我可以这样做 reg schema pyspark sql types StructTyp
  • Chrome 和溢出:隐藏的问题

    在我的 javascript 中我使用 jqueryanimate 自动滑动推文的功能 Code function movefeeds var element jQuery Feeds var position element positi
  • 如何使用 XMLHttpRequest 传递 php 会话

    我遇到的问题是 我正在通过 XMLHttpRequest 从已设置会话 cookie 的页面调用服务器上的 php 脚本 问题是我的页面调用的脚本为每次调用创建一个新的 session id 并且不使用现有的 session id 来存储我
  • tlbexp.exe 更改方法名称的大小写

    我有一个相当奇怪的问题 我正在将接口从 C 库导出到 COM 我已启用 使用 COM 注册 项目设置 因此它调用 tlbexp exe 来创建类型库 我们在方法名称上使用驼峰式大小写 我注意到导出的类型库将这些恰好与类名一致的方法更改为 P
  • 防止在设计时调整高度尺寸

    我正在开发自定义用户控件 如何防止在设计时界面期间修改控件的仅高度 您可以覆盖SetBoundsCore http msdn microsoft com en us library system windows forms control
  • 使用 JavaScript 将 DOM 元素添加到 Body 的最佳方法

    我需要在每个页面上放置此代码 document body innerHTML div style text align center div class card style background EC2D2D padding 20px 0
  • 构建成功但没有可编译的源代码

    Eclipse 控制台中的 Maven 测试输出 INFO Scanning for projects WARNING WARNING Some problems were encountered while building the ef
  • SSL iOS9 SSL 握手失败。我检查了 openssl & 我的服务器使用 tls 1.2V

    我从 iOS 9 中的应用程序中收到这些错误 它在 iOS 8 上运行良好 我的服务器使用的是 tls v1 2 所以 我不知道问题出在哪里 2015 08 04 16 52 24 319 Entumano 676 59469 CFNetw
  • Android 中 Thread.sleep 方法的替代方法

    我有这个按钮 当单击该按钮时 会将我的文本字段中输入的详细信息保存到 Google App Engine 在调用该 onClickListener 之后 我有一个意图启动一个新活动 该活动显示我刚刚输入的详细信息 这是代码 submitBu
  • Cassandra DB 中的日期插入:重要的 1 小时轮班问题(后续)

    这是这个的后续其他原帖 https stackoverflow com questions 23080188 date insertion in cassandra db non trivial 1h shift issue 2308355
  • 在格子 xyplot 上添加标签

    我创建了一个带有格子的 xyplot library lattice X1 c 5 2 1 3 X2 X1 2 names paste dot 1 4 sep xyplot X2 X1 data data frame X1 X2 pch 2
  • Laravel 5:请求验证多维数组

    我有提交多维数组的表单 喜欢 slide 1 title slide 2 title 现在我使用 Request 类来定义我的规则 如何循环遍历此类中的所有数组项 我试过 public function rules return id gt
  • 为什么没有List.skip和List.take?

    为什么没有List skip和List take 当然有 Seq take 和 Seq skip 但它们不会因此创建列表 一种可能的解决方案是 mylist gt Seq skip N gt Seq toList 但这会创建第一个枚举器 然
  • dplyr 流中参考当前 data.frame

    如何在 dpylr 流中引用当前的 data frame 举个例子 在 library dplyr myresults tribble dataset name method group method value iris other a