为什么栅格文件大小与对象大小有很大不同?

时间:2019-11-30 10:32:33

标签: r raster filesize read.csv

我的磁盘上有一个1.2 GB的.csv文件。我使用R的{​​{1}}函数,然后通过filename = read.csv(path)检查对象大小,结果发现它的大小为3721MB。为什么会有这种差异?

1 个答案:

答案 0 :(得分:1)

CSV文件是纯文本文件,可能看起来像这样:

1,2,3,4
3,2,3,2
3,4,2,1

每个字符(即数字和逗号)都是一个字节。该文件的大小为24个字节(每行末尾都有一个不可见的“换行”字符)。

读入R时,每个数字都存储为8个字节的浮点十进制数。上面的文件将是8 * 24(值)= 96字节大。

可以相反。如果改写了上述文件:

1.0000000000, 2.0000000000, 3.00000000000, 4.000000000
[etc]

然后在CSV中,每个数字约占12个字节-每个数字,小数点,命令和零都占一个字节-并且读入R时仍仅占8个字节作为浮点十进制值。