问题描述
如何在R中取消科学计数法 &
对R中使用科学技术法表示的数据“取消科学计数法”以后,得到的值和原来的值会不一样。
需求背景
分析留存数据时,数据库底表的字段是一个30位/两百位的字符串,比如0011111100000000000001,第一个0表示最近一天该用户没登陆,第三位的1表示3天前该用户登陆了,以此类推
底表的格式是字符串,但我下载格式是csv,csv自动把这个字段的格式改成数值型了(我也不知道为啥),所以我用R读取这个文件时,“0011111100000000000001“就变成了”11111100000000000001“,我需要在前面补0补满30位,具体操作可以看我另一篇文章:
然而,补0的函数要求输入的格式是字符串,但我直接把原始数据转成字符串格式的话会发生下面这样尴尬的情况,比如原始数据是“11111111111111111111111111111111111”,那么R就会显示1.11+e30,然后转成character 类型以后就直接变成“1.11+e30”,补0以后就会是“000001.1111e+30”(类似这样,反正就是还有小数点和e等字样)
所以,我需要先取消科学计数法的表示,然后再转成字符串格式。
取消科学计数法的方法一
在读取或处理数据前使用options函数