聚合后在R中对时间序列进行排序
我有一个时间序列,它每秒测量一个变量X,每10秒改变读数的GPS坐标。当我基于GPS坐标进行聚合时,我松开了时间序列的顺序,如下例所示:聚合后在R中对时间序列进行排序,r,time-series,aggregate,R,Time Series,Aggregate,我有一个时间序列,它每秒测量一个变量X,每10秒改变读数的GPS坐标。当我基于GPS坐标进行聚合时,我松开了时间序列的顺序,如下例所示: Input (loaded as variable stack in R): time,latitude,longitude,sensor_reading 20150220081613,55.9516598,-3.2212117,2 20150220081614,55.9516598,-3.2212117,3 20150220081621,55.9
Input (loaded as variable stack in R):
time,latitude,longitude,sensor_reading
20150220081613,55.9516598,-3.2212117,2
20150220081614,55.9516598,-3.2212117,3
20150220081621,55.9516891,-3.2208011,5
20150220081622,55.9516891,-3.2208011,3
20150220081630,55.9516739,-3.2207998,2
20150220081631,55.9516739,-3.2207998,3
然后运行以下命令:
aggregate(stack, by = list(stack$longitude, stack$latitude), FUN = mean)
我得到以下输出,它失去了时间序列的顺序:
Group.1 Group.2 time latitude longitude sensor_reading
1 -3.221212 55.95166 2.015022e+13 55.95166 -3.221212 2.5
2 -3.220800 55.95167 2.015022e+13 55.95167 -3.220800 2.5
3 -3.220801 55.95169 2.015022e+13 55.95169 -3.220801 4.0
我通过索引行,然后对它们的聚合进行排序,解决了这个问题
aggregate_file <- function(file, fun){
# Get rows in order to sort after aggregation
file$rows <- as.numeric(row.names(file))
file_agg <- aggregate(file, by = list(file$longi, file$latitude), FUN = fun)
# Order based on aggregates of the rows
file_agg_ordered <- file_agg[order(file_agg$rows),]
file_agg_ordered
}
aggregate\u文件您能给出一个可复制的示例吗?您使用什么进行聚合?我现在已经编辑了问题,以包含我对问题的解决方案。我们仍然需要样本输入数据和所需的输出来解决问题。@Avinash现在有一个可复制的示例。我在计算经度和纬度。