1 つの大きな列から 141 x 131 のマトリックスを作成し、それをテキスト ファイルとしてエクスポートするコードがあります。これまでのところ、うまく機能しています。ASCII からラスターへの変換ツールを使用して、これらのファイルを ArcGIS にインポートします。ArcGIS がそれらをインポートするには、5 行のヘッダーが必要で、ヘッダーの後にデータが次のように続きます。
NCOLS 131
NROWS 141
XLLCENTER -150
YLLCENTER -70
CELLSIZE 1
NODATA_VALUE -32768
265 41.7 1.8 12 16 18.3 16.5 18.3 19.7 24.5 26.1 28.4...
R がテキスト ファイルを保存したら、このヘッダーを手動で貼り付けるのは簡単ですが、処理する必要があるファイルが 900 個以上あるため、テキスト ファイルをエクスポートするときに R にヘッダーを追加してもらいたいと考えています。それは可能ですか、それともマトリックスの最初の 5 行としてヘッダー行を追加してエクスポートできますか?
編集: 以下のこのセクションは、コメントで尋ねた追加の質問に関するものです。
ここに私のコード全体があります:
batch_tpose <- function(filename) {
dat <- matrix(scan(file = filename),ncol=3,byrow=T)
dat_trans <- matrix(dat[,3], 141, byrow=FALSE)
header <- "NCOLS 131
NROWS 141
XLLCENTER -150
YLLCENTER -70
CELLSIZE 1
NODATA_VALUE -32768"
writeLines(header, filename)
write.table(dat_trans, file = filename, row.names=FALSE, col.names=FALSE, append=TRUE)
## This works, I just need the output to be something like out/filename...
}
batch_tpose("200RelVort-nwatl-20201008-15.txt")
batch_tpose
を使用して、下部のコマンドで一連のファイルを処理できるようにしたいlist.files
。現在、1つのファイルでテストしています。これは機能しますが、ファイルを作業ディレクトリに書き込みます。同じディレクトリにあるため、ソース ファイルも上書きされます。出力ファイルを「out」ディレクトリに書き込むにはどうすればよいですか? 試してみましout/filename
たfile = out/filename
が、「ファイル名」という名前の新しいファイルが作成されます。他の組み合わせを試しましたが、エラーが発生しました。