4

私は配列を持っています。緯度、経度、時間、および値があります。時間は 1 から 300 までです。これは、time=1 の配列の一部です。

myarray[,,1]
     lon                        
    lat -124.5  -123.5  -122.5  -121.5  -120.5  -119.5  -118.5
31.5    0   0   0   0   0   0
32.5    0   0   0   0   0   0
33.5    0   0   0   0   0   0
34.5    0   0   0   0   0   0
35.5    0   0   0   0   0   0
36.5    0   0   0   768.1   0   126.2
37.5    0   0   0.2 0   811 212.1
38.5    0   0   3055    0   243.9   243.7
39.5    0   0   1.5 0.1 3   0
40.5    0.1 16.8    4.3 0.5 2.1 0
41.5    0.2 398.6   0.4 1.2 1.6 0
42.5    0   0.1 0.9 0.1 0.7 0

「write.csv」と「for ループ」を同時に使用して、各タイム ステップ (1 ~ 300) の配列からデータを読み取り、インデックスとして「i」を持つ個々の .csv ファイルに保存します。このコマンドを使用しましたが、機能しないようです:

for (i in 1:300)    write.csv(myarray[,,i],"myarray.i.csv")
4

3 に答える 3

12

これには複数の方法があります。

paste('myarray', i, 'csv', sep = '.')

また:

sprintf('myarray.%d.csv', i)

私は最後の方が好きです。

于 2013-10-20T19:39:15.587 に答える
0

一つの方法は

for (i in 1:300)  {
write.table(myarray[,,i],file=""myarray.i.csv"",append=TRUE,sep=",",col.names=TRUE,row.names=TRUE) 
  }
于 2016-04-05T01:00:18.893 に答える