【发布时间】:2016-12-09 19:06:38
【问题描述】:
我有一个 txt 文件形式的巨大数据集,其中的值由分号分隔,并且有接近 2M 行。我只需要与第一列中特定日期相对应的数据。示例输入如下所示:
Date;Time;Global_active_power;Global_reactive_power;Voltage;Global_intensity;Sub_metering_1;Sub_metering_2;Sub_metering_3
16/12/2006;17:24:00;4.216;0.418;234.840;18.400;0.000;1.000;17.000
16/12/2006;17:25:00;5.360;0.436;233.630;23.000;0.000;1.000;16.000
16/12/2006;17:26:00;5.374;0.498;233.290;23.000;0.000;2.000;17.000
请帮我过滤与两个日期相对应的数据,例如 1/2/2007 和 2/2/2007
【问题讨论】:
-
通过 col.classes 参数在
read.csv调用中删除列相对容易。如果您的数据按日期排序,您可以找出要手动读取的行集,然后使用 skip 和 nrows 参数读取这些行。 -
另外,如果这个数据集快要耗尽你的可用内存,你应该看看
data.table中的fread或read.csv.raw中的read.csv.raw/read.chunk中的iotools。跨度>
标签: r