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

确认R语言中转换data.frame整数列为数值列的代码有效性

你的代码无法实现需求,存在两个关键问题:
  1. 判断对象错误:is.integer(badClassFrame)是检查整个数据框是否为整数类型,而非单独检查每一列。要实现列级别的类型判断,应该写成is.integer(badClassFrame[[i]])或is.integer(badClassFrame[,i])。
  2. 未保存转换结果:as.numeric()仅执行了转换操作,但没有将转换后的值赋值回原数据框的对应列,所以转换不会生效,必须写成badClassFrame[[i]] <- as.numeric(badClassFrame[[i]])。

修正后的for循环代码:

for(i in 1:ncol(badClassFrame)) {
  if (is.integer(badClassFrame[[i]])) {
    badClassFrame[[i]] <- as.numeric(badClassFrame[[i]])
  }
}

更简洁的替代写法(无需循环):

用lapply可以批量处理所有列,代码更简洁高效:

badClassFrame[] <- lapply(badClassFrame, function(col) {
  if (is.integer(col)) as.numeric(col) else col
})

内容的提问来源于stack exchange,提问作者anarami.ta

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 07:48:27