studio - Lectura de un archivo ASC en R
importar datos csv en r studio (3)
El paquete SDMTools
tiene la función read.asc
, que funciona bajo R 3.2.4. Sin embargo, al menos en mi caso, usando read.table
con todos los valores predeterminados, resueltos de la caja.
Actualmente estoy tratando de extraer información de varios archivos "ASC" en R para realizar análisis de los datos.
El problema es que no estoy seguro de cómo exactamente leer en los archivos. Intenté una función estándar de lectura.tabla, pero todos los números eran exactamente iguales (-9999.00). Para descartar la posibilidad de corrupción de datos, leí en otro archivo ASC y obtuve los mismos resultados. Lo único que sé con certeza es que el tamaño del archivo entre ellos es exactamente el mismo.
¿Hay alguna forma en que pueda leer estos archivos? ¿Cualquier paquete R que pueda mirar?
Ato esto
x = read.table("Dropbox/MVZ/aet2009sep.asc")
y = read.table("Dropbox/MVZ/aet2009oct.asc")
y mis resultados fueron
> 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
Actualización : es posible leer archivos ESRI ASCII Raster (también conocidos como archivos .asc) con la función de raster
directamente desde el paquete ''ráster''. La ayuda dice:
Si x es un nombre de archivo, se reconocen las siguientes variables adicionales:
nativo: lógico. El valor predeterminado es FALSE, excepto cuando falta el paquete rgdal. Si los archivos VERDADERO, leer y escribir de ... y Arc ASCII se realizan con controladores nativos (paquete de ráster), en lugar de mediante rgdal ....
library(raster)
r = raster("C://...//Dropbox/MVZ/aet2009sep.asc")
plot(r)
Editar 2 [obsoleto]:
Como alternativa, una opción es la función raster()
, que tiene el paquete rgdal
instalado correctamente.
library(rgdal)
raster = raster("C://...//Dropbox/MVZ/aet2009sep.asc")
plot(raster)
Editar 1 [obsoleto]:
El paquete adehabitat
ahora está en desuso. Actualmente, proporciona una advertencia al cargarlo:
Es peligroso usarlo, ya que los errores ya no se corregirán. Ahora se recomienda utilizar los paquetes adehabitatMA, adehabitatLT, adehabitatHR y adehabitatHS.
...
Respuesta original [obsoleta]:
Pruebe la función import.asc
del paquete R adehabitat (consulte la página 92):
library(adehabitat)
asc = import.asc("c://...//Dropbox/MVZ/aet2009sep.asc")
#plot asc object as raster to check it out
library(raster)
raster = raster(asc)
plot(raster)
Utilicé el comando x = read.csv
("C: / ... / Dropbox / MVZ // aet2009sep.asc", sep = ";")
Lo encontré después de usar la importación de forma manual con el botón de importación en la ventana de Entorno.