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

如何修正dplyr代码以选择以t加数字结尾的mtcars数据集列

解决方法

问题出在ends_with()的用法上:这个函数只支持字面匹配列名的结尾,不支持正则表达式语法。你写的t[0-9]$会被当作普通字符串去匹配列名结尾,自然找不到符合条件的列,所以返回空对象。

正确的做法是使用支持正则表达式的matches()函数,代码如下:

mtcars %>% dplyr::select(matches("t\\d$"))

正则说明:

  • t:匹配字母t
  • \\d:匹配任意单个数字(R字符串中反斜杠需要转义,所以写两个)
  • $:限定匹配位置为列名的结尾

如果需要匹配t后面跟多个数字(比如t12这类结尾),可以把正则改成"t\\d+$",其中+表示前面的数字可以出现1次或多次。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 01:19:57