所以,我要做的是为x和y坐标创建一个热图。但我想每隔30分钟做一次。例如,第一个热图将使用从"00:00:00"到"00:30:00"的数据创建,然后从"00:01:00"创建到"00:31:00"。
我需要帮助的是编写一个for循环,该循环可以从更大的数据库中提取这些行,然后为每个数据括号列出热图。有人告诉我,zoo::rollapply在这个过程中可能很有用,但我不确定它是如何工作的。
数据库有三列x、y和indiv.times。x和y是坐标系统,indiv.times是一个字符变量,它包含以"13:04:46"格式表示的时间。
for (i in ???) {
kde <- kde2d(x, y)
plot_ly(z = kde$z, type = "heatmap")
}这是创建热图的代码,所以我真的需要一种方法来提取30分钟的间隔。
任何帮助都将不胜感激。
下面是数据库的一个示例:
structure(list(x = c(224.7666, 223.3886, 131.7025, 345.333),
y = c(60.7657, 85.73872, 77.35342, 26.24607), indiv.times = Sys.time() +
cumsum(60*sample(20, size = 10, replace = TRUE)), class = "data.frame", row.names = c(NA, -4L)))发布于 2018-11-13 05:57:52
因此,如果其他人感兴趣,我创建了一个索引i,从"00:00:00"一直到"24:00:00"。在for循环中,您只需要从df[time < i + 1800 & time > i,]所在的数据帧中提取行。确保你的时间是时间格式,而不仅仅是字符串。然后,可以使用新提取的数据帧在for循环中执行任何调整。
https://stackoverflow.com/questions/53079997
复制相似问题