我有一个巨大的数据集,其形式为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和2007年2月2日
答案 0 :(得分:8)
以下是数据导入过滤的一个很好的答案:https://stackoverflow.com/a/15967406/1152809
基本上,您需要在导入期间使用sqldf进行过滤。这就是你需要的东西:
triggered
但是,我还没有对此进行测试,因为您没有向我们提供dput您的数据。请看一下这篇关于R的<{3}}的帖子。
您的日期是字符串,因此他们可以使用上述内容。但是,如果您想使用BETWEEN之类的日期特定功能,则需要将其更改为正确的格式。这是一个样本:
install.packages("sqldf")
library(sqldf)
df <- read.csv.sql("sample.csv", "select *, from file where Date = '01/02/2007' or Date = '2/2/2007 ", sep=";")