【发布时间】:2017-03-04 11:18:18
【问题描述】:
所以这个我就是想不通。我有一个创建热图的函数。
createHeatMap <- function(mapData){
ggmap(mapImageData1, extent = 'device') +
geom_density2d(data = mapData, aes(x = Longitude, y = Latitude), size = 0.3) +
stat_density2d(data = mapData, aes(x = Longitude, y = Latitude, fill = ..level.., alpha = ..level..), size = 0.01, bins = 16, geom = "polygon") +
scale_fill_gradient(low = "green", high = "red") +
scale_alpha(range = c(0, 0.3), guide = FALSE);
};
当我将数据框传递给它时,这有效。但是,当我尝试遍历 for 循环并制作多个地图时,什么也没有发生。
Users <- unique(baitStations$User);
for (user in Users){
userData <- subset(baitStations, baitStations$User == user);
createHeatMap(userData);
};
但是当我在 for 循环之外进行调用时,它可以工作。
for (user in Users){
userData <- subset(baitStations, baitStations$User == user);
createHeatMap(userData);
};
**createHeatMap(userData);**
我一生都无法弄清楚是什么阻止了它的运行?如果我在 for 循环中head(userData),它会打印出数据帧行。所以它正在获取数据框。
【问题讨论】:
-
可能不是
print-ing。 (关于网格函数的常见问题解答。) -
延迟加载可能在起作用。尝试将绘图封装在 print() 中。
print( plot_here )看看它是否有效,尽管这似乎是世界上最奇怪的事情。 -
把这个放在答案中,我会把它标记为答案。
标签: r function dataframe ggmap