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

如何在dplyr::mutate中用更易读方式调用数据框最后一列?

更易读的最后一列引用方法

当然有,这里有几种比.[[ncol(.)]]更直观易懂的写法:

  • 使用dplyr的last_col()函数(推荐):这是dplyr专门提供的选取最后一列的函数,语义清晰,一眼就能明白是取最后一列,代码最简洁:

    df <- matrix(1:4, ncol = 2) %>% as.data.frame()
    df %>% mutate(V3 = last_col() * 2)
    
  • 通过列名选取(结合tail()):如果需要明确用到列名,也可以用tail(names(.), 1)获取最后一列的名称,再引用:

    df %>% mutate(V3 = .[[tail(names(.), 1)]] * 2)
    # 或者用select的写法
    df %>% mutate(V3 = select(., tail(names(.), 1)) * 2)
    
  • base R风格的列索引写法:和原方法逻辑一致,但用逗号索引代替双括号,可读性略有提升:

    df %>% mutate(V3 = .[, ncol(.)] * 2)
    

其中last_col()是最优解,完全不需要计算列数,语义直接对应需求,代码最易读。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 14:45:55