2016-10-22 3 views
0

これだけ私は理解できません。ヒートマップを作成する関数があります。Rはforループ内からの関数呼び出しを完了していません

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ループ内のI head(userData)がデータフレーム行を出力します。それで、データフレームが得られます。

+0

「印刷」していない可能性があります。 (グリッド機能に関するよくある質問) –

+0

レイジーローディングが働いている可能性があります。プロットをprint()でカプセル化してみてください。それが世界で奇妙なことだとは思えますが、 'print(plot_here)'と動作するかどうかを確認してください。 –

+0

これを答えに入れてください。私は答えとしてマークします。 – Danrex

答えて

0

コメントに記載されているこのジレンマに対する答えはヒートマップを印刷することでした。

関連する問題