Este código de R corresponde a la figura 6.11 del libro Análisis de datos con el programa estadístico R: una introducción aplicada de Salas-Eljatib (2021). | |
Ocuparemos la dataframe pspRuca del paquete datana.
library(datana)
data(pspRuca)
df <- pspRuca
head(df) #primeras seis filas
tree.no spp status dbh x.coord y.coord crown.class
1 1 N. obliqua 1 65.50 2.7282 0.62986 1
2 2 A. punctatum 1 75.90 9.1970 4.30179 1
3 3 A. punctatum 1 44.10 17.1026 0.62677 1
4 4 E. cordifolia 1 135.75 20.0614 0.57813 1
5 5 A. punctatum 1 78.25 3.9795 2.20588 1
6 6 N. obliqua 1 91.80 5.1683 1.88111 1
nrow(df) #numero de filas de la dataframe
[1] 716
Esta dataframe contiene la informacion de coordenadas cartesianas de arboles en una parcela de muestreo de 10.000 m\(^2\) (1 hectárea) en un bosque adulto de Olivillo-Roble-Laurel-Ulmo en el predio Rucamanque (Depresion intermedia de la region de la Araucania, Chile). Los datos fueron recolectados por Salas et al. (2006).
En el libro se muestran dos gráficos sobre funciones de de densidad (o ``Kernel’’) para la distribucion espacial de árboles en un bosque nativo en Chile. La estimacion de densidad por funciones Kernel es una alternativa de modelacion en análisis espacial que toma en consideracion la posicion de elementos en relacion a otros Schabenberger and Gotway (2005).
Para realizar esta figura del libro es necesario tambien cargar los siguientes paquetes
library(splancs)
Loading required package: sp
Spatial Point Pattern Analysis Code in S-Plus
Version 2 - Spatial and Space-Time analysis
library(spatstat)
Loading required package: spatstat.data
Loading required package: nlme
Loading required package: rpart
spatstat 1.64-1 (nickname: 'Help you I can, yes!')
For an introduction to spatstat, type 'beginner'
Note: R version 3.6.3 (2020-02-29) is more than a year old; we strongly recommend upgrading to the latest version
Attaching package: 'spatstat'
The following object is masked from 'package:MASS':
area
Es recomendable tambien instalar el paquete geoR Ribeiro and Diggle (2001).
range.x<-c(0,100);range.y<-c(0,100)
plot.area<-max(range.x)*max(range.y)
# grupo 1: arboles del dosel superior y vivos
db.g1 <- df[df[,"crown.class"]==1&df[,"status"]==1,]
db.g1.pts <- as.points(db.g1[,"x.coord"],db.g1[,"y.coord"])
db.g1.ppp <- ppp(db.g1.pts[,1],db.g1.pts[,2],xrange=range.x,yrange=range.x)
# ----------
#estimacion de la densidad kernel para grupo 1
dens.g1.sig2<-density.ppp(db.g1.ppp,sigma=3.5,dimyx=c(max(range.x),max(range.y)))
persp(dens.g1.sig2,theta=45,phi=5,xlab="X",ylab="Y",zlab="Z",cex.lab=1.5,main="", col="yellow")
# grupo 2: arboles del dosel inferior y muertos en pie
db.g2<-df[df[,"crown.class"]==3&df[,"status"]==2,]
db.g2.pts<-as.points(db.g2[,"x.coord"],db.g2[,"y.coord"]);
db.g2.ppp=ppp(db.g2.pts[,1],db.g2.pts[,2],xrange=range.x,yrange=range.x)
# ----------
#estimacion de la densidad kernel para grupo 2
dens.g2.sig2<-density.ppp(db.g2.ppp,sigma=3.5,dimyx=c(max(range.x),max(range.y)))
persp(dens.g2.sig2,theta=45,phi=45,xlab="X",ylab="Y",zlab="Z",cex.lab=1.5,main="",col="aquamarine")
Ribeiro, P. J., Jr., and P. J. Diggle. 2001. “geoR
: A Package for Geostatistical Analysis.” R News 1 (2): 14–18.
Salas, C., V. LeMay, P. Núñez, P. Pacheco, and A. Espinosa. 2006. “Spatial Patterns in an Old-Growth Nothofagus Obliqua Forest in South-Central Chile.” For. Ecol. Manage. 231 (1-3): 38–46.
Salas-Eljatib, C. 2021. Análisis de datos con el programa estadístico R: una introducción aplicada. Santiago, Chile: Ediciones Universidad Mayor.
Schabenberger, O., and C. A. Gotway. 2005. Statistical Methods for Spatial Data Analysis. Boca Raton, FL, USA: Chapman & Hall/CRC.