You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在magrittr管道%>%中获取传入R对象的属性?

在magrittr管道中访问当前对象属性的方法

当然可以在管道链内完成这个操作,有几种常用的方式:

  • 用.指代当前传递的对象:这是magrittr管道的基础语法,.代表前一步传递过来的完整数据框。修改你的代码如下:
df <- data.frame(x=c(1,2,3,4,5),
                 y=c(6,7,8,9,0)) %>%
  mutate(newcol=1:nrow(.))
  • 使用cur_data()函数(dplyr 1.0.0+):如果用的是较新版本的dplyr,cur_data()会返回当前正在操作的数据集,效果和.一致:
df <- data.frame(x=c(1,2,3,4,5),
                 y=c(6,7,8,9,0)) %>%
  mutate(newcol=1:nrow(cur_data()))
  • 针对行号场景的简化写法:如果只是生成从1开始的行号序列,直接用row_number()更符合tidyverse风格,无需手动获取行数:
df <- data.frame(x=c(1,2,3,4,5),
                 y=c(6,7,8,9,0)) %>%
  mutate(newcol=row_number())

内容的提问来源于stack exchange,提问作者E Maas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 11:32:33