web-dev-qa-db-ja.com

ASCファイルをRに読み込む

私は現在、データの分析を実行するために、さまざまな「ASC」ファイルからRに情報を抽出しようとしています。

問題は、ファイルを正確に読み取る方法がわからないことです。標準のread.table関数を試しましたが、すべての数値がまったく同じ(-9999.00)でした。データ破損の可能性を排除するために、私は別のASCファイルを読み込んで同じ結果を得ました。私が確かに知っている唯一のことは、それらの間のファイルサイズがまったく同じであることです。

とにかくこれらのファイルを読み取ることができますか?私が見ることができる任意のRパッケージ?

私はこれを結びました:

    x = read.table("Dropbox/MVZ/aet2009sep.asc")
    y = read.table("Dropbox/MVZ/aet2009oct.asc")

そして私の出力は

    > head(x, n =20)
         V1        V2
    1         ncols    3486.0
    2         nrows    4477.0
    3     xllcorner -374495.8
    4     yllcorner -616153.3
    5      cellsize     270.0
    6  NODATA_value   -9999.0
    7      -9999.00   -9999.0
    8      -9999.00   -9999.0
    9      -9999.00   -9999.0
    10     -9999.00   -9999.0
    11     -9999.00   -9999.0
    12     -9999.00   -9999.0
    13     -9999.00   -9999.0
    14     -9999.00   -9999.0
    15     -9999.00   -9999.0
    16     -9999.00   -9999.0
    17     -9999.00   -9999.0
    18     -9999.00   -9999.0
    19     -9999.00   -9999.0
    20     -9999.00   -9999.0

    head(y, n =20)
         V1        V2
    1         ncols    3486.0
    2         nrows    4477.0
    3     xllcorner -374495.8
    4     yllcorner -616153.3
    5      cellsize     270.0
    6  NODATA_value   -9999.0
    7      -9999.00   -9999.0
    8      -9999.00   -9999.0
    9      -9999.00   -9999.0
    10     -9999.00   -9999.0
    11     -9999.00   -9999.0
    12     -9999.00   -9999.0
    13     -9999.00   -9999.0
    14     -9999.00   -9999.0
    15     -9999.00   -9999.0
    16     -9999.00   -9999.0
    17     -9999.00   -9999.0
    18     -9999.00   -9999.0
    19     -9999.00   -9999.0
    20     -9999.00   -9999.0
19
arifyali

更新:「raster」パッケージから直接raster関数を使用して.ascファイル(別名 ESRI ASCII Raster ファイル))を読み取ることができます。ヘルプは言う:

Xがファイル名の場合、次の追加の変数が認識されます。

ネイティブ:論理的。パッケージrgdalがない場合を除いて、デフォルトはFALSEです。 TRUEの場合、...の読み取りと書き込み、およびArc ASCIIファイルは、rgdal ...ではなく、ネイティブ(ラスターパッケージ)ドライバーで実行されます。

_library(raster)
r = raster("C:\\...\\Dropbox/MVZ/aet2009sep.asc")
plot(r)
_

編集2 [廃止]:

別の方法は、raster()関数であり、パッケージrgdalが適切にインストールされています。

_library(rgdal)
r = raster("C:\\...\\Dropbox/MVZ/aet2009sep.asc")
plot(r)
_

編集1 [廃止]:

パッケージadehabitatは廃止されました。現在、ロード時に警告が表示されます。

バグは修正されなくなるため、使用すると危険です。現在、パッケージadehabitatMA、adehabitatLT、adebeatatHR、およびadehabitatHSを使用することが推奨されています。
...

元の回答[廃止]:

Rパッケージの_import.asc_関数を使用 adehabitat (92ページを参照):

_library(adehabitat)
asc = import.asc("C:\\...\\Dropbox/MVZ/aet2009sep.asc")

#plot asc object.
library(raster)
r = raster(asc)
plot(r)
_
23
Andre Silva

パッケージ SDMTools には関数read.asc、R 3.2.4で動作します。ただし、少なくとも私の場合はread.tableすべてのデフォルト値がそのまま使用できました。

2
Waldir Leoncio

Lafパッケージを使用すると、めちゃくちゃ速いです。

2
ssword

コマンドx = read.csv( "C:\ ...\Dropbox/MVZ // aet2009sep.asc"、sep = ";")

これは、環境ウィンドウのインポートボタンを手動で インポートボタンを使用して使用した後に見つかりました。

0
Gerardo Nunez