gpt4 book ai didi

将 ASC 文件读入 R

转载 作者:行者123 更新时间:2023-12-03 13:25:49 57 4
gpt4 key购买 nike

我目前正在尝试将各种“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

最佳答案

更新:可以使用 raster 读取 .asc 文件(又名 ESRI ASCII Raster 文件)。直接从“光栅”包中运行。帮助说:

If x is a filename, the following additional variables are recognized:

native: logical. Default is FALSE except when package rgdal is missing. If TRUE, reading and writing of ..., and Arc ASCII files is done with native (raster package) drivers, rather than via 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现在已弃用。目前,它在加载时提供警告:

It is dangerous to use it, as bugs will no longer be corrected. It is now recommended to use the packages adehabitatMA, adehabitatLT, adehabitatHR, and adehabitatHS.
...



原始答案[已过时]:

使用 import.asc R 包中的函数 adehabitat (见第 92 页):
library(adehabitat)
asc = import.asc("C:\\...\\Dropbox/MVZ/aet2009sep.asc")

#plot asc object.
library(raster)
r = raster(asc)
plot(r)

关于将 ASC 文件读入 R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20177581/

57 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com