我正在从csv中读取大量数据。值具有尾随零。使用read.csv
导入数据时,会在数字末尾附加其他数字。
可重复的例子:
> options(digits = 22)
> number <- as.character("19.745130761412300000000000000000")
> print(number)
[1] "19.745130761412300000000000000000"
> write.csv(number, "number.csv")
> read.csv("number.csv")
X x
1 1 19.745130761412302
注意x末尾的02。
使用as.numeric
时会发生此行为:
> number <- as.character("19.745130761412300000000000000000")
> print(number)
[1] "19.745130761412300000000000000000"
> as.numeric(number)
[1] 19.745130761412302
导入多个数据时如何避免额外数字?删除read.csv
之前的尾随零不是一种选择。任何帮助将不胜感激。
谢谢,
克里斯
答案 0 :(得分:0)
使用numerals = "no.loss"
:
write.csv("19.745130761412300000000000000000", "number.csv")
dd <- read.csv("number.csv", numerals = "no.loss")
print(dd, digits = 22)
## X x
## 1 1 19.745130761412300000000000000000
str(dd)
## 'data.frame': 1 obs. of 2 variables:
## $ X: int 1
## $ x: Factor w/ 1 level "19.745130761412300000000000000000": 1
有关详细信息,请参阅numerals
中的?type.convert
参数。