从一个大型数据集中提取汇总信息,然后存储在另一个数据集

时间:2016-05-13 01:47:47

标签: r

我是R的新手,我在从一个数据集中提取汇总数据然后将这些数据存储在另一个数据集中时遇到了问题。我目前正在尝试分析飞行数据集以及天气信息。我在这方面有一个问题如下:

我有一个飞行数据的数据集。这个数据集包括诸如航班号,日期,原始城市名称,原始州名,出发时间,出发时间块(每个1小时持续时间跨越整个24小时),到达时间,到达时间段,飞行距离,总飞行时间以及指示航班是否延误的二元响应变量。

我有另一个包含天气数据的数据集。该数据集包括诸如日期,记录时间,小时块(每小时持续1小时,跨越整个24小时),州,城市以及相应的天气相关数据(如温度,湿度水平,风速等)的列。城市,州,日期和单个小时区块,天气数据集中可以有多个条目,表示小时区块中不同时间的温度水平变化。

我正在尝试从天气数据集中提取温度和湿度水平,并将此信息放在飞行数据集中。为此,我在飞行数据集中为原点温度,原始湿度,目标温度和目标湿度创建了四个新列。

我的目标是在出发时间小时块内存储原始城市的平均温度和湿度水平,以及在飞行数据集中到达时间小时块内的目的地城市。我选择平均温度和湿度的原因是因为天气数据集中可以有多个条目用于相同的小时区块,城市和州的组合。

我尝试使用以下循环从天气数据集中提取原始温度信息:

for(i in 1:nrow(flight))  
  {

  flight[[i,13]]=mean(weather$temperature[weather$date == flight[[i,1]] & weather$time_blk == train[[i,5]]
              & weather$state == train[[i,3]] & weather$city == train[[i,2]]])

  }

但是,天气数据集包含大约2百万行,飞行数据集也包含大约20000个观测值。因此,上述计算需要花费大量时间才能执行,即使这样,飞行数据集中的原始温度数据也无法正确计算。

我还附上了样本飞行和天气数据集的图像供参考。

考虑到大数据集的限制和处理所需的时间,您能否建议另一种获取上述信息的方法。

enter image description here enter image description here

0 个答案:

没有答案