2016-10-22 48 views
0

所以這一個我只是無法弄清楚。我有一個創建熱圖的函數。R沒有完成循環內的函數調用

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),它將輸出數據幀行。所以它得到了數據框。

+0

可能不是'打印'。 (有關網格功能的FAQ)。 –

+0

延遲加載可能正在工作。嘗試封裝print()中的繪圖。 'print(plot_here)'看看它是否有效,即使它看起來是世界上最奇怪的東西。 –

+0

把這個答案花花公子,我會把它標記爲答案。 – Danrex

回答

0

評論中提到的這個困境的答案是print()熱圖。