【发布时间】:2013-11-13 15:57:46
【问题描述】:
我想使用 data.table 中的 fread,但会收到与小数点相关的警告 [这里是 ',' 而不是 '.']。通常我使用'.',但在某些情况下我必须以','作为小数点导入文件。
在 read.csv 中我可以设置小数点分隔符:
df <- read.csv("mydata.csv", sep=";", dec=",")
如何在 data.table 的 fread 函数中执行此操作?与
df=fread('mydata.csv',sep=';')
我收到一条警告消息:
Warning message:
In fread("mydata.csv", :
Bumped column 7 to type character on data row 86, field contains '4,5'.
,其中 4,5 是在 read.csv 中正确读取为 '4.5' 且 sep=',' 的值。
sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-pc-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8
[6] LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
【问题讨论】:
-
您使用的是什么操作系统? See here 解决方法。
-
@SimonO101 - 我在 Linux Debian 64 位。我必须导入 ',' 和 '.' 的组合。小数点文件,因此更改语言环境无济于事。
-
没有理由不能在两次读取之间更改它。一旦数据进入,R 会以同样的方式对待它(即使用
.,除非您在options(OutDec)中指定不同的内容。 -
谢谢。由于问题出在单个文件上,因此我将只进行搜索/替换。
标签: r data.table