Excel到R,使用readxl导入时值会更改
发布时间:2022-08-27 21:55:46 331
相关标签: # git# 数据
我对R很陌生。我需要处理excel中的许多列表,但在导入它们时readxl
数字似乎在变化。
我有一个电子表格(示例在这里),当我减去制表符的和时;“目标输入”;到选项卡的总和;target\u输出;在excel中,总计为0(应为0,请参阅“比较”选项卡)。然而,在将其导入R之后,如果我使用print(sum(target_inputs) - sum(target_outputs))
,总计为6.007031e-08。
以下是代码示例:
library(readxl)
target_inputs <- read_excel("C:\\A Matrix - Table 5 2019-20.xlsx", sheet="target_inputs")
target_outputs <- read_excel("C:\\A Matrix - Table 5 2019-20.xlsx", sheet="target_outputs")
target_inputs <- as.numeric(target_inputs)
target_outputs <- as.numeric(target_outputs)
print(sum(target_inputs) - sum(target_outputs))
我认为小数点可能有问题,所以我尝试了round()
功能和options(digits=20)
等等,但我无法摆脱这个问题。这似乎只发生在R中,因为当我使用下面的代码再次导出它时,问题似乎消失了。
library(writexl)
write_xlsx(target_inputs, "C:\\target_inputs.xlsx")
write_xlsx(target_outputs, "C:\\target_outputs.xlsx")
任何帮助都将不胜感激,谢谢!
----编辑1--有些数据集会发生这种情况,其他数据集不会给我这个问题。
----编辑2----我刚刚注意到,如果我用options(digits=22)
我可以看到数值小数点的变化。例如,在excel中,第一个值为;目标\u输入;是23923.72846564920000000,导入到R后target_inputs[[1]]
给了我23923.72846564929932356. 但是,将其导出回xlsx会将值返回到原始值......我不明白我做错了什么
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报