在R语言中如何将字符型价格列转为整数?转换时出现NA值
解决as.integer()/as.numeric()转换出现NA的问题
出现NA的核心原因是你的数据里包含千位分隔符逗号,R的基础数值转换函数无法识别带逗号的字符串,所以转换时会生成NA。
解决方法有两种:
- 手动清除逗号后再转换:
先用gsub(",", "", 你的数据列/向量)把逗号替换为空,再用as.numeric()或as.integer()转换。示例代码:# 模拟带逗号的字符串向量 num_str <- c("1,500", "2,300", "450") # 清除逗号并转数值 num_clean <- as.numeric(gsub(",", "", num_str)) - 使用readr包的
parse_number()函数(更简便):
这个函数会自动忽略数字里的非数值符号,直接提取并转换为数值:library(readr) num_str <- c("1,500", "2,300", "450") num_clean <- parse_number(num_str)
内容的提问来源于stack exchange,提问作者Sangeetha
相关产品推荐
相关产品推荐

