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

R语言如何批量将以Col_item_开头的列转换为numeric类型

R语言批量转换指定前缀列为数值型的实现方案

基础R实现(无需额外安装包)

直接通过grep匹配目标列名前缀,结合lapply完成批量转换:

# 1. 匹配所有以Col_item_开头的列的索引
target_cols <- grep("^Col_item_", colnames(df1))
# 2. 批量转换为numeric类型,嵌套as.character是为了兼容源列为factor的场景
df1[target_cols] <- lapply(df1[target_cols], function(x) as.numeric(as.character(x)))

dplyr实现(更简洁的语法)

如果使用tidyverse生态的dplyr包,可以用列选择器快速匹配目标列:

library(dplyr)

# dplyr 1.0.0及以上版本使用across
df1 <- df1 %>%
  mutate(across(starts_with("Col_item_"), ~ as.numeric(as.character(.x))))

# 旧版本dplyr可使用mutate_at
df1 <- df1 %>%
  mutate_at(vars(starts_with("Col_item_")), function(x) as.numeric(as.character(x)))

注意事项

你提供的示例数据中存在列名Col_item 03(后缀为空格而非下划线),如果该列也需要纳入转换范围,可以调整匹配规则:

# 匹配所有以Col_item开头,后接下划线或空格的列
target_cols <- grep("^Col_item[ _]", colnames(df1))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 03:06:03