R_as.numeric()函数在转换小数时返回无意义结果的解决
来源:互联网 发布:aⅴ淘宝在线视频超碰 编辑:程序博客网 时间:2024/06/06 10:48
本文重点解决as.numeric()函数将factor转为数值时得出的无意义结果的解决
假设有数据框aaa
x | y | value ------------------------------------------a1 b2 0.510665432157769a2 b3 0.887655678543227.. .. ...
运行as.numeric(aaa[1,3])
,返回的结果居然是123?当然,这只是个栗子,为了表达问题所在。真正运行时不一定得到的结果是123
在R help中找到如下参考
Warning
If x is a factor, as.numeric will return the underlying numeric (integer) representation, which is often meaningless as it may not correspond to the factor levels, see the ‘Warning’ section in factor (and the 2nd example below).
看到meaningless这个词了吗,意思是如果使用as.numeric转换一个因子,则通常会返回一个无意义的结果。
那么我们如何解决呢?
嵌套使用as.numeric(as.character(aaa[1,3]))
这样返回的就是正常应转化的数值,而不是一个无意义的结果如一百二十三。
但上面的方法有一个问题,在小数点后位数太大时输出结果会四舍五入。
对于这个,我们可以使用print()函数中的参数digit,print(as.numeric(as.character(aaa[1,3])),digits = 16)
,输出的就是不带四舍五入的完整值
理论上format(xx, digits = 16)
也可以保证长度,但我没在这种情况下试。
visitor tracker
0 0
- R_as.numeric()函数在转换小数时返回无意义结果的解决
- linq 调用 有返回值(numeric)的存储过程,报错“从数据类型 numeric 转换为 numeric 时出错”
- 小数类型的数字,数值类型转换[DECIMAL,NUMERIC,FLOAT,INT]
- mybatis sum函数返回为null的解决方式,格式化小数千分位的问题
- Oracle11g count使用函数时在性能与返回结果的差别
- Mybatis返回结果时发生的类型转换异常
- 在结果中返回函数值
- Solr在结果中返回函数值
- 函数作为另一个函数的结果返回
- Boolen()函数的转换结果
- 只要函数的返回值,屏蔽echo var_dump等输出结果。php ob 解决
- SQLSERVER 使用 AVG 函数时结果保留小数
- Linux 函数返回结果的问题
- C++函数返回指针结果的坑.
- scala 保留两位小数并且去掉小数点后无意义的0
- setjmp ,longjmp :关于在调用setjmp的函数返回之前,调用longjmp,否则结果不可预料
- string和numeric之间的互相转换
- try-catch-finally在有返回值时返回的结果
- 五星龙Z一颗 《从原型模式的使用方式不难推断出,原型模式常使用于以下场景》
- USACO
- 8、解决Linux无法上网的各种问题
- 如何通过sea.js进行模块化开发
- 在Java中使用注释
- R_as.numeric()函数在转换小数时返回无意义结果的解决
- Swift (10) Optional Chaining && Deinitialization 选择链 && 去初始化
- [leetcode: Python]291. Nim Game
- 走进java_接口和抽象类的区别
- C++抽象编程——算法分析(5)——标准复杂度类
- 从MySQL数据库中导出数据
- datastage序列job参数传入内部嵌套的job注意事项
- 如何解决web系统session劫持
- CSS的规范化