【问题标题】:R not completing function call from within for loopR没有从for循环内完成函数调用
【发布时间】: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


【解决方案1】:

在 cmets 中提到的这个困境的答案是 print() 热图。

【讨论】:

    猜你喜欢
    • 2017-07-27
    • 1970-01-01
    • 1970-01-01
    • 2015-08-15
    • 2015-09-12
    • 2012-07-01
    • 2015-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多