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

如何移除R语言DataFrame列值的括号并保留内容转为数值列

错误原因
  • R语言对大小写敏感,你构造的数据集列名为Result(首字母大写,其余小写),但代码中调用的是全大写的RESULT,调用不存在的列触发了报错
  • 你当前的正则规则仅匹配了左方括号[,没有处理右方括号],即使解决列名问题,也无法完成全部括号的移除
基础R实现代码
# 移除所有方括号,注意列名大小写
results2$Result <- gsub("[\\[\\]]", "", results2$Result)
# 转换为数值类型,原ND值会自动转为NA
results2$Result <- as.numeric(results2$Result)
tidyverse 风格实现代码

如果你习惯用dplyr的管道操作,可以用以下写法:

results2 <- results2 %>%
  mutate(Result = str_remove_all(Result, "\\[|\\]"),
         Result = as.numeric(Result))
结果说明

处理后的results2数据如下:

NameResult
ANA
B0.5
A1.2
ANA
BNA
B0.8
CNA
C1.1
C22.0

原列中的ND为非数字字符串,转换为数值类型时会自动转为缺失值NA,属于正常行为

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 09:15:03