加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

R语言中几个将百分数化成小数的小技巧

(2016-04-08 09:52:25)
标签:

r

分类: R语言

 其基本思想就是把百分数按照字符处理,首先将“%”与数字分离,然后再将数除以100,就可以化成小数了。下面两种方法的区别一个是将%替换成空格,一个是提取除百分号的数字。
> testdata<-data.frame(v1=c("78%", "65%", "32%"), v2=c("43%", "56%", "23%"))
> testnewdata1<-data.frame(lapply(testdata, function(x) as.numeric(sub("%", "", x))/100) )
> testnewdata1
    v1 v2
1 0.78 0.43
2 0.65 0.56
3 0.32 0.23
> library(stringr)
> testnewdata2<-data.frame(lapply(testdata, function(x) as.numeric(str_extract(x,'[0-9.]+'))/100) )
> testnewdata2
    v1 v2
1 0.78 0.43
2 0.65 0.56
3 0.32 0.23
      
替换百分号的思想还可以用下面的代码实现
> testnewdata3<-data.frame(lapply(testdata, function(x) as.numeric(gsub("\\%", "", x))/100))
> testnewdata3
    v1 v2
1 0.78 0.43
2 0.65 0.56
3 0.32 0.23

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有