Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Entrega Prueba #1

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions ecoinformatica_2014_2015.Rproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Version: 1.0

RestoreWorkspace: Default
SaveWorkspace: Default
AlwaysSaveHistory: Default

EnableCodeIndexing: Yes
UseSpacesForTab: Yes
NumSpacesForTab: 2
Encoding: UTF-8

RnwWeave: Sweave
LaTeX: pdfLaTeX
Binary file added sesion_2/retos/Cuaderno_de_campo_digital.accdb
Binary file not shown.
Binary file added sesion_3/retos/Reto_3_f1.pdf
Binary file not shown.
Binary file added sesion_3/retos/Reto_3_f2.pdf
Binary file not shown.
10 changes: 10 additions & 0 deletions sesion_3/retos/Reto_3_p1.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#Algoritmo que multiplique 5 números introducidos por el usuario.

multiplicacion <- 1 #Creo la variable "multiplicación"
for (k in 1:5){ #Creo un bucle para multiplicar 5 números que introducira el usuario
print ("introduce un numero") #Escribe "introduce un numero" para que el usuario introduzca el número que quiera
x <- scan (nmax=1) #Almaceno el valor introducido

multiplicacion <- multiplicacion * x #Se multiplica el valor introducido con lo acumulado hasta el momento
}
print (multiplicacion) #Escribe el resultado de multiplicacion de los cinco numeros introducidos
Binary file added sesion_3/retos/Reto_3_p1.pdf
Binary file not shown.
16 changes: 16 additions & 0 deletions sesion_3/retos/Reto_3_p2.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#Algoritmo que dado un umbral por el usuario,
#dados 10 números por el usuario,
#cuente cuántos de esos números supera el umbral indicado


contador <- 0 #Creo la variable "contador"
print("Introduce un umbral") #Escribe "introduce un umbral" para que el usuario introduzca el valor umbral que desee
umbral <- scan(nmax=1) #Almaceno el umbral introducido
for(k in 1:10){ #Creo un bucle para que el usuario introduzca 10 numeros y cuente cuantos de estos numeros superan el umbral previamente introducido
print("Introduce un numero")#Escribe "introduce un número" para que el usuario introduzca el numero que quiera
x <- scan(nmax=1)#Almaceno el numero introducido
if(x > umbral){ #Si el numero introducido es mayor que el valor umbral
contador <- contador+1 #Aumenta en una unidad el contador (Cuenta el numero dado)
}
}
print(paste("Cantidad de numeros que superan el umbral:",contador)) #Mostrar la cantidad de numeros que supero el umbral
Binary file added sesion_3/retos/Reto_3_p2.pdf
Binary file not shown.
11 changes: 11 additions & 0 deletions sesion_3/retos/Reto_3_p3.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#Algoritmo que haga la media de 10 temperaturas indicadas por el usuario


suma <-0 #Creo la variable suma
for(k in 1:10){ #Creo un bucle para que el usuario introduzca 10 valores de temperatura y realice la media de estos valores
print("Introduce la temperatura") #Escribe "introduce la temperatura" para que el usuario introduzca el valor de temperatura que quiera
temp <-scan(nmax=1) #Almaceno la temperatura introducida
suma <- suma + temp #Se suma el valor introducido con el acumulado
}
resultado <- suma/k #Creo la variable resultado que es el valor de la suma total entre el numero de temperaturas introducidas (media)
print(resultado) #Muestro el resultado obtenido
Binary file added sesion_3/retos/Reto_3_p3.pdf
Binary file not shown.
28 changes: 28 additions & 0 deletions sesion_3/retos/Reto_3_p4.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#Reto_3_p4:
#Dado el conjunto de datos ndvi.zip
#Cada imagen raster se tomó un día, a una hora y minutos concretos
#Queremos hacer un script que muestre la evolución del NDVI medio para las horas del día

#Cargo las librerias raster y rgdal
library(raster)
library(rgdal)

horas <- c(12,13,14,15) #Creo el vector horas donde se almacenaran las horas
valores <- c() #Creo el vector valores vacio donde se almacenaran los valores de las medias de cada hora
i <- 1 #Creo un contador para acceder correctamente a la posicion dentro del vector valores donde se deben almacenar las distintas medias para las horas

#Creo un bucle que busque los tres ficheros para cada hora, los "junte" y realice la media de los valores para cada hora, obteniendo un único valor de ndvi para cada hora
for(h in horas){

imagenes <- list.files(path="./ndvi", full.names=TRUE, pattern=paste("_", h, "..\\.jpg\\.asc$", sep=""))
stack_imagen <- stack(imagenes)
media2 <- mean(stack_imagen)
media <- cellStats(media2,mean)

valores[i] <- media #Almaceno en el vector valores, en la posición correspondiente la media para cada hora
i <- i+1

}
plot(horas, valores) #Muestra la gráfica obtenida


Binary file added sesion_3/retos/Reto_3_p4.pdf
Binary file not shown.
Binary file added sesion_3/retos/Reto_3_p4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added sesion_6/retos/producto_1/Producto_1.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion sesion_6/retos/producto_1/ndvi_robledal.csv
Original file line number Diff line number Diff line change
Expand Up @@ -23580,4 +23580,4 @@
197847;2009;0.51;-3.13026053962652;37.0276617611953
197847;2010;0.54;-3.13026053962652;37.0276617611953
197847;2011;0.51;-3.13026053962652;37.0276617611953
197847;2012;0.53;-3.13026053962652;37.0276617611953
197847;2012;0.53;-3.13026053962652;37.0276617611953
127 changes: 127 additions & 0 deletions sesion_6/retos/producto_1/producto_1.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
#Cargo las librerias Kendall, sp, rgdal, classInt y RColorBrewer
library('Kendall')
library(sp)
library(rgdal)
library(classInt)
library(RColorBrewer)


v <- c()#Creo un vector (v) que almacena los valores del ndvi de un pixel para todos los años
m <- c()#Almacena los valores del Analisis MannKendall de robledal
m2 <-c()#Almacena los valores del Analisis MannKendall de nieve
tau <-c()
pvalue <- c()
lat <- c()
lng <- c()

#######ROBLEDAL########
#Leo la table de ndvi_robledal
ndvi <- read.table("ndvi_robledal.csv",header = TRUE,sep=';')

#Creo un bucle
for(k in 1:1814){

#Almaceno la latitud y longitud de cada pixel
lat[k] <-ndvi$lat[(k-1)*13+1]
lng[k] <-ndvi$lng[(k-1)*13+1]


for(i in 1:13){

#Almaceno el valor del ndvi de cada año para cada pixel
v[i]=ndvi$ndvi_i[(k-1)*13+i]
}
#Realizo el analisis MannKendall
m <- MannKendall(v)
#Extraigo tau y pvalor
tau[k] <-m$tau[1]
pvalue[k] <- m$sl[1]
}

#Uso script pintar#

#Pintar mapas
tendencias=data.frame(tau,pvalue,lat,lng)
## definimos las coordenadas de los puntos
coordinates(tendencias) =~lng+lat
## definimos el sistema de coordenadas WGS84
proj4string(tendencias)=CRS("+init=epsg:4326")

## partimos los valores de tau en 5 clases
clases <- classIntervals(tendencias$tau, n = 5)
## obtenemos cinco colores para una paleta de colores que se llama "Spectral"
plotclr <- rev(brewer.pal(5, "Spectral"))
## Asociamos los valores de tau a su valor correspondiente
colcode <- findColours(clases, plotclr)

## plot sin tener en cuenta
plot(tendencias, col=colcode, pch=19, cex = .6, main = "Mapa de tendencias del ndvi")
## mostramos la leyenda
legend("topright", legend=names(attr(colcode, "table")), fill=attr(colcode, "palette"), bty="n")

###### pintar el mapa

tendencias$significativa <- ifelse(tendencias$pvalue < 0.05, 1, 2)
## plot sin tener en cuenta
plot(tendencias, col=colcode, pch=c(17, 19)[as.numeric(tendencias$significativa)], cex = .6, main = "Mapa de tendencias significativas del ndvi")
## mostramos la leyenda
legend("topright", legend=names(attr(colcode, "table")), fill=attr(colcode, "palette"), bty="n")






#########NIEVE#######
#Leo la tabla nieve_robledal
nieve <- read.table("nieve_robledal.csv",header =TRUE, sep=';')

#Creo un bucle
for(k in 1:593){
#Almaceno la latitud y longitud de cada pixel
lat[k] <-nieve$lat[(k-1)*12+1]
lng[k] <-nieve$lng[(k-1)*12+1]

for(i in 1:12){
#Alamaceno el valor del scd de cada año para cada pixel
v[i]=nieve$scd[(k-1)*12+i]
}
#Realizo el Analisis MannKendall
m2<- MannKendall(v)
#Extraigo los valores de tau y pvalor
tau[k] <-m2$tau[1]
pvalue[k] <- m2$sl[1]

}

#Uso el script pintar#

tendencias=data.frame(tau,pvalue,lat,lng)
## definimos las coordenadas de los puntos
coordinates(tendencias) =~lng+lat
## definimos el sistema de coordenadas WGS84
proj4string(tendencias)=CRS("+init=epsg:4326")

## partimos los valores de tau en 5 clases
clases <- classIntervals(tendencias$tau, n = 5)
## obtenemos cinco colores para una paleta de colores que se llama "Spectral"
plotclr <- rev(brewer.pal(5, "Spectral"))
## Asociamos los valores de tau a su valor correspondiente
colcode <- findColours(clases, plotclr)

## plot sin tener en cuenta
plot(tendencias, col=colcode, pch=19, cex = .6, main = "Mapa de tendencias de la nieve")
## mostramos la leyenda
legend("topright", legend=names(attr(colcode, "table")), fill=attr(colcode, "palette"), bty="n")

###### pintar el mapa

tendencias$significativa <- ifelse(tendencias$pvalue < 0.05, 1, 2)
## plot sin tener en cuenta
plot(tendencias, col=colcode, pch=c(17, 19)[as.numeric(tendencias$significativa)], cex = .6, main = "Mapa de tendencias significativas de la nieve")
## mostramos la leyenda
legend("topright", legend=names(attr(colcode, "table")), fill=attr(colcode, "palette"), bty="n")




Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added sesion_6/retos/producto_2/Producto_2.pdf
Binary file not shown.
53 changes: 53 additions & 0 deletions sesion_6/retos/producto_2/producto_2.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#Cargo las librerias sp, rgdal, classInt y RColorBrewer
library(sp)
library(rgdal)
library(classInt)
library(RColorBrewer)

n <- 3:5 #Numero de clases que voy a usar en los diferentes clusters

#Leo la tabla robles_ecoinfo
info <- read.table("robles_ecoinfo.csv",header = TRUE,sep=',')

info2 <- info[,-1]#Quito la primera columna
info2 <-info2[,-1]#Quito la segunda columna

#Creo un bucle
for(n_cluster in n){

#Realizo el cluster
mi_cluster <- kmeans (info2, n_cluster, iter.max = 200, nstart = 3)
#Extraigo el campo cluster del cluster
cluster <- mi_cluster$cluster
#Cojo las coordenadas x e y de "robles_ecoinfo"
x <- info$x
y <- info$y
#Hago una tabla con los valores del cluster, x e y
robles<-data.frame(cluster,x,y)

### Uso el script pintar_mapa ###

#Cargamos libreria raster y obtenemos los ficheros de imágenes para una hora determinada
### Para el siguiente fragmento de script, suponemos que:
### - Tienes una variable que se llama robles
### - La variable robles es un data.frame
### - que el data.frame tiene una columna que se llama pvalue
### - que tiene dos columnas, x e y
### - que tiene una columna que se llama "cluster" que indica a qué cluster pertenece.


## OJO: esta variable debería de estar en vuestro script
## variable con el número de cluster con el que estamos probando
## definimos las coordenadas de los puntos
coordinates(robles) =~x+y
## definimos el sistema de coordenadas WGS84
proj4string(robles)=CRS("+init=epsg:23030")

## obtenemos n_cluster colores para una paleta de colores que se llama "Spectral", para cada cluster creado
plotclr <- rev(brewer.pal(n_cluster, "Spectral"))

## plot, asignando el color en función del cluster al que pertenece
plot(robles, col=plotclr[robles$cluster], pch=19, cex = .6, main = paste("Poblaciones de robledal con Clusters=",n_cluster))
}


Binary file added sesion_6/retos/producto_3/__MACOSX/._presencia
Binary file not shown.
Binary file added sesion_6/retos/producto_3/__MACOSX/._resultados
Binary file not shown.
Binary file added sesion_6/retos/producto_3/__MACOSX/._variables
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
42 changes: 42 additions & 0 deletions sesion_6/retos/producto_3/presencia/presencia_q_pyrenaica.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
species,x,y
Quercus pyrenaica,-3.4592728,37.090360
Quercus pyrenaica,-3.4425072,37.103936
Quercus pyrenaica,-3.4366969,37.099468
Quercus pyrenaica,-3.4368059,37.094943
Quercus pyrenaica,-3.4311936,37.099425
Quercus pyrenaica,-3.5126549,37.085607
Quercus pyrenaica,-3.2901411,36.987112
Quercus pyrenaica,-3.2901131,36.982704
Quercus pyrenaica,-3.2955989,36.960091
Quercus pyrenaica,-3.2956725,36.964589
Quercus pyrenaica,-3.2956849,36.991038
Quercus pyrenaica,-3.3966371,36.950827
Quercus pyrenaica,-3.3966605,36.955335
Quercus pyrenaica,-3.4023723,36.975643
Quercus pyrenaica,-3.4023708,36.971100
Quercus pyrenaica,-3.4079099,36.973280
Quercus pyrenaica,-3.4137523,36.973314
Quercus pyrenaica,-3.4136521,36.975559
Quercus pyrenaica,-3.4164485,36.973287
Quercus pyrenaica,-3.4192188,36.964235
Quercus pyrenaica,-3.4814641,37.058641
Quercus pyrenaica,-3.4758634,37.058735
Quercus pyrenaica,-3.4646709,37.067758
Quercus pyrenaica,-3.4816563,37.067699
Quercus pyrenaica,-3.4813782,37.036142
Quercus pyrenaica,-3.3808810,37.135790
Quercus pyrenaica,-3.3750942,37.131292
Quercus pyrenaica,-3.3809367,37.131183
Quercus pyrenaica,-3.3638698,37.131327
Quercus pyrenaica,-3.3466400,37.117965
Quercus pyrenaica,-3.3415149,37.122217
Quercus pyrenaica,-3.3469166,37.126780
Quercus pyrenaica,-3.3468960,37.122273
Quercus pyrenaica,-3.2566979,37.190109
Quercus pyrenaica,-3.2530087,37.202160
Quercus pyrenaica,-3.2570577,37.176605
Quercus pyrenaica,-3.2514513,37.181088
Quercus pyrenaica,-3.2514776,37.185613
Quercus pyrenaica,-3.2564000,37.185305
Quercus pyrenaica,-3.2458027,37.190132
Quercus pyrenaica,-3.2514363,37.190139
Binary file not shown.
Loading