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

R语言报错:替换值行数为0与数据行数1338不匹配问题

问题解决步骤

错误原因分析

你遇到的报错replacement has 0 rows, data has 1338,本质是替换Charges列的向量长度和原数据行数不匹配,大概率是以下两种情况:

  • 原Charges列是因子型,直接用gsub会操作因子的水平值而非元素,导致返回空向量
  • 替换后的字符串无法转为数值,且处理过程中意外生成了长度为0的向量

修正转换代码

先确保正确将Charges转为数值型:

# 先转为字符型(规避因子型的问题),替换逗号后转数值,保留NA
data$Charges <- as.numeric(gsub(",", "", as.character(data$Charges)))

验证转换结果

执行后检查转换是否成功:

# 查看列类型和统计信息
class(data$Charges)
summary(data$Charges)

划分为两类

以中位数为分界点将数值分为高低两类(可根据需求调整分界规则):

# 计算中位数(忽略NA)
charge_cutoff <- median(data$Charges, na.rm = TRUE)
# 生成分类列
data$Charge_Category <- ifelse(data$Charges >= charge_cutoff, "高费用", "低费用")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 05:35:55