全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
4714 2
2016-06-23
悬赏 10 个论坛币 未解决
请问大神,R中处理数据时,含有千分位分隔符的数值无法转换数据类型,如何处理?
例如:R中读入数据时,设置colClasses = c("character"),现想将销售金额那一列转换成数值类型,提示:
> data$销售金额<-as.numeric(data$销售金额)
Warning message:
NAs introduced by coercion


经查看,销售金额那一列有千位分隔符的数据都转换失败了,被强制转换成NA值

网上找到的答案不靠谱,哪位大神有好的解决办法呀?

步骤:

1、先将逗号分隔符替换为空格

2、再将空格用正则式替换

  • > a<-"1,234.2"  
  • > b<-as.numeric(a)  
  • <span style="color:#cc0000;">Warning message:  
  • NAs introduced by coercion   
  • </span>> b<-<strong>chartr</strong>(","," ",a)  
  • > b<-<strong>gsub</strong>("[N ]","",b)  
  • > result<-as.numeric(b)  
  • > result  
  • [1] 1234.2

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-6-23 20:25:56
就是这样做啊
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-6-23 23:00:39
赞同楼上,如果你觉得用gsub不好,就先在Excel把数字格式从会计格式取消,就是变成常规格式,这样就没有千分位符了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群