R:读入.csv文件会删除前导零

时间:2015-07-14 15:35:20

标签: r csv read.csv leading-zero

我意识到读取.csv文件会删除前导零,但对于我的某些文件,它会保留前导零而不必在read.csv中显式设置colClasses。另一方面,令我困惑的是在其他情况下,它会删除前导零。所以我的问题是:read.csv在哪些情况下会删除前导零?

1 个答案:

答案 0 :(得分:8)

read.csvread.table和相关函数以字符串的形式读取所有内容,然后根据函数的参数(特别是colClasses,还有其他函数)和函数将选项然后尝试"简化"列。如果列中的足够数字看起来是数字而你没有告诉函数,那么它会将它转换为数字列,这将丢弃任何前导0(并且在小数点后尾随0' s)。如果列中的某些内容看起来不像数字,那么它将不会转换为数字并将其保留为字符或转换为因子,这将保持前导0。该函数并不总是查看整个列来做出决定,因此可能仍然可以转换为不是数字的对象。

最安全的方法(也是最快的)是指定colClasses以便R不需要猜测(并且你不需要猜测R会猜到什么)。