2017-07-20 19 views
0

現在、forループ内のpng()関数に問題があります。以下はコードの簡単な例です。ベクトルは、繰り返し処理してプロットし、pngに保存しようとしている複数のシェイプファイルのインジケータ値を表します。私は私のスクリプトから以下のエラーが発生しますpng()反復エラーR

match <- c(1,2,3,4,5,6,7,8,9) 
for(m in 1:length(match)){ 
    png("WMA", m, "/_example_plot.png") 
    p <- c(plot(match[m])) 
    dev.off() 
} 

スイッチで

エラー(単位、in = resを、センチ= resを/ 2.54、ミリメートル= resを/ 25.4、PX = 1) *:

トレースバック

2..geometr以下の二項演算子に非数値引数Y(幅、高さ、単位、RES)

1.png( "WMA"、M、 "/_example_plot.png")

自分で描画コードとファイルパス作業罰金。私は、マッチベクトルのインジケータ値のいくつかを使って、すべてのpng()関数をテストしました。しかし、各インジケータ値を反復処理するとエラーが発生します。

このstackoverflowポストは、png()のジオメトリを設定する関数を作成する必要があると私に信じています。しかし、私はこれを行う方法がわからない/私はなぜ必要なのでしょうか。すべての情報はいつものように評価されています:)

+3

「png(paste0( "WMA /"、m、 "_example_plot.png")) '?したがって、すべてのPNGはマップWMAに1_example_plot.png、2_example_plot.pngなどとして保存されます。 – Florian

+0

また、「ggsave」もチェックしてください。 – CPak

+0

@Florianはい、ありがとうございます! – DPek

答えて

0

私は、PNGの名前を変更したいと思っています。エラーは、paste0関数を使用して名前を連結しないことです。つまり、png(paste0("WMA", m, "/_example_plot.png"))です。
コードでは、PNG関数の最初の引数は"WMA"、2番目の引数はm、3番目の引数は"/_example_plot.png")です。

+0

ありがとう!完璧に働いた – DPek