library(dplyr) # Función para cargar paquetes
getwd() # Ver el directorio de trabajo
setwd("C:/Users/USS/Desktop/Pedro/2019 - 2020/Percepcion remota/P0") # Cambiar el directorio de trabajo
getwd()
edidiv <- read.csv("C:/Users/USS/Desktop/Pedro/2019 - 2020/Percepcion remota/P0/CC-RBasics-master/edidiv.csv") # Importar datos de excel
read.csv2 # Para cargar .csv separados por ; en vez de ,
# r.csv("your-file-path", sep = ";") # Otra forma de cargar .csv separado por ; con el argumento "sep"
head(edidiv) # Muestra las primeras filas del objeto
tail(edidiv) # Muestra las últimas filas del objeto
str(edidiv) # Te dice si las variables son continuous, integers, categorical or characters
head(edidiv$taxonGroup) # Muestra las primeras filas de una columna deseada con $
class(edidiv$taxonGroup) # Te dice el tipo de variable
edidiv$taxonGroup <- as.factor(edidiv$taxonGroup) # Convierte la variable en factor
dim(edidiv) # Muestra el número de filas y columnas del objeto
summary(edidiv) # Te da un resumen de datos
summary(edidiv$taxonGroup) # Resumen de una varible en particular
Beetle <- filter(edidiv, taxonGroup == "Beetle") # The first argument of the function is the data frame, the second argument is the condition you want to filter on. Because we only want the beetles here, we say: the variable taxonGroup MUST BE EXACTLY (==) Beetle - drop everything else from the dataset. (R is case-sensitive so it's important to watch your spelling! "beetle" or "Beetles" would not have worked here.)
Bird <- filter(edidiv, taxonGroup == "Bird")
Butterfly <- filter(edidiv, taxonGroup == "Butterfly")
Dragonfly <- filter(edidiv, taxonGroup == "Dragonfly")
Flowering.Plants <- filter(edidiv, taxonGroup == "Flowering.Plants")
Fungus <- filter(edidiv, taxonGroup == "Fungus")
Hymenopteran <- filter(edidiv, taxonGroup == "Hymenopteran")
Lichen <- filter(edidiv, taxonGroup == "Lichen")
Liverwort <- filter(edidiv, taxonGroup == "Liverwort")
Mammal <- filter(edidiv, taxonGroup == "Mammal")
Mollusc <- filter(edidiv, taxonGroup == "Mollusc")
a <- length(unique(Beetle$taxonName)) # Creas un objeto con el número de datos únicos en una variable
a # Muestra los diferentes tipos de escarabajos en la variable
b <- length(unique(Bird$taxonName)) # Unique identifica diferentes especies y length los cuenta 
b
c <- length(unique(Butterfly$taxonName))
c
d <- length(unique(Dragonfly$taxonName))
d
e <- length(unique(Flowering.Plants$taxonName))
e
f <- length(unique(Fungus$taxonName))
f
g <- length(unique(Hymenopteran$taxonName))
g
h <- length(unique(Lichen$taxonName))
h
i <- length(unique(Liverwort$taxonName))
i
j <- length(unique(Mammal$taxonName))
j
k <- length(unique(Mollusc$taxonName))
k
biodiv <- c(a,b,c,d,e,f,g,h,i,j,k) # Se crea un vector con las variables a,b,c,d,e,f,g,h,i,j,k
biodiv
names(biodiv) <- c("Beetle",
                   "Bird",
                   "Butterfly",
                   "Dragonfly",
                   "Flowering.Plants",
                   "Fungus",
                   "Hymenopteran",
                   "Lichen",
                   "Liverwort",
                   "Mammal",
                   "Mollusc") # Con la función names() ponemos etiquetas a los valores de un vector

biodiv
barplot(biodiv) # Para crear gráfico de barras

help(barplot) # Ayuda sobre la función deseada
help(par) # Para obtener ayuda sobre el plotteo en general
 # png() y dev.off() funciones para guardar gráficos
png("barplot.png", width=1600, height=600) # Guarda gráfico con esas características
barplot(biodiv, xlab="Taxa", ylab="Number of species", ylim=c(0,600), cex.names= 1.5, cex.axis=1.5, cex.lab=1.5) # El código cex aumenta el tamaño de fuente cuando es mayor que uno (y lo disminuye cuando es menor que uno)

# Creamos un objeto llamado "taxa" que contiene todos los nombres de taxa
taxa <- c("Beetle",
          "Bird",
          "Butterfly",
          "Dragonfly",
          "Flowering.Plants",
          "Fungus",
          "Hymenopteran",
          "Lichen",
          "Liverwort",
          "Mammal",
          "Mollusc")
taxa
class(taxa) # Comprobamos la clase de variable que es taxa
taxa_f <- factor(taxa) # Convertimos una variable en un factor de taxa, es decir en una variable categórica
richness <- c(a,b,c,d,e,f,g,h,i,j,k) # Combinando todos los valores para el número de especies en un objeto llamado riqueza
richness
biodata <- data.frame(taxa_f, richness) # Creando un data frame con dos vectores
biodata
write.csv(biodata, file="biodata.csv") # Guarda el data frame en forma de .csv en el directorio de trabajo 
png("barplot2.png", width=1600, height=600)
barplot(biodata$richness, names.arg=c("Beetle",
                                      "Bird",
                                      "Butterfly",
                                      "Dragonfly",
                                      "Flowering.Plants",
                                      "Fungus",
                                      "Hymenopteran",
                                      "Lichen",
                                      "Liverwort",
                                      "Mammal",
                                      "Mollusc"),
        xlab="Taxa", ylab="Number of species", ylim=c(0,600))

# Cuando se grafica un frame data hay que especificar exactamente que se quiere que se grafique
LS0tDQp0aXRsZTogIlAwX0ludHJvUnN0dWRpbyINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCmBgYHtyfQ0KbGlicmFyeShkcGx5cikgIyBGdW5jacOzbiBwYXJhIGNhcmdhciBwYXF1ZXRlcw0KYGBgDQoNCmBgYHtyfQ0KZ2V0d2QoKSAjIFZlciBlbCBkaXJlY3RvcmlvIGRlIHRyYWJham8NCmBgYA0KDQpgYGB7cn0NCnNldHdkKCJDOi9Vc2Vycy9VU1MvRGVza3RvcC9QZWRyby8yMDE5IC0gMjAyMC9QZXJjZXBjaW9uIHJlbW90YS9QMCIpICMgQ2FtYmlhciBlbCBkaXJlY3RvcmlvIGRlIHRyYWJham8NCmBgYA0KDQpgYGB7cn0NCmdldHdkKCkNCmBgYA0KDQpgYGB7cn0NCmVkaWRpdiA8LSByZWFkLmNzdigiQzovVXNlcnMvVVNTL0Rlc2t0b3AvUGVkcm8vMjAxOSAtIDIwMjAvUGVyY2VwY2lvbiByZW1vdGEvUDAvQ0MtUkJhc2ljcy1tYXN0ZXIvZWRpZGl2LmNzdiIpICMgSW1wb3J0YXIgZGF0b3MgZGUgZXhjZWwNCmBgYA0KDQpgYGB7cn0NCnJlYWQuY3N2MiAjIFBhcmEgY2FyZ2FyIC5jc3Ygc2VwYXJhZG9zIHBvciA7IGVuIHZleiBkZSAsDQpgYGANCg0KYGBge3J9DQojIHIuY3N2KCJ5b3VyLWZpbGUtcGF0aCIsIHNlcCA9ICI7IikgIyBPdHJhIGZvcm1hIGRlIGNhcmdhciAuY3N2IHNlcGFyYWRvIHBvciA7IGNvbiBlbCBhcmd1bWVudG8gInNlcCINCmBgYA0KDQpgYGB7cn0NCmhlYWQoZWRpZGl2KSAjIE11ZXN0cmEgbGFzIHByaW1lcmFzIGZpbGFzIGRlbCBvYmpldG8NCmBgYA0KDQpgYGB7cn0NCnRhaWwoZWRpZGl2KSAjIE11ZXN0cmEgbGFzIMO6bHRpbWFzIGZpbGFzIGRlbCBvYmpldG8NCmBgYA0KDQpgYGB7cn0NCnN0cihlZGlkaXYpICMgVGUgZGljZSBzaSBsYXMgdmFyaWFibGVzIHNvbiBjb250aW51b3VzLCBpbnRlZ2VycywgY2F0ZWdvcmljYWwgb3IgY2hhcmFjdGVycw0KYGBgDQoNCmBgYHtyfQ0KaGVhZChlZGlkaXYkdGF4b25Hcm91cCkgIyBNdWVzdHJhIGxhcyBwcmltZXJhcyBmaWxhcyBkZSB1bmEgY29sdW1uYSBkZXNlYWRhIGNvbiAkDQpgYGANCg0KYGBge3J9DQpjbGFzcyhlZGlkaXYkdGF4b25Hcm91cCkgIyBUZSBkaWNlIGVsIHRpcG8gZGUgdmFyaWFibGUNCmBgYA0KDQpgYGB7cn0NCmVkaWRpdiR0YXhvbkdyb3VwIDwtIGFzLmZhY3RvcihlZGlkaXYkdGF4b25Hcm91cCkgIyBDb252aWVydGUgbGEgdmFyaWFibGUgZW4gZmFjdG9yDQpgYGANCg0KYGBge3J9DQpkaW0oZWRpZGl2KSAjIE11ZXN0cmEgZWwgbsO6bWVybyBkZSBmaWxhcyB5IGNvbHVtbmFzIGRlbCBvYmpldG8NCmBgYA0KDQpgYGB7cn0NCnN1bW1hcnkoZWRpZGl2KSAjIFRlIGRhIHVuIHJlc3VtZW4gZGUgZGF0b3MNCmBgYA0KDQpgYGB7cn0NCnN1bW1hcnkoZWRpZGl2JHRheG9uR3JvdXApICMgUmVzdW1lbiBkZSB1bmEgdmFyaWJsZSBlbiBwYXJ0aWN1bGFyDQpgYGANCg0KYGBge3J9DQpCZWV0bGUgPC0gZmlsdGVyKGVkaWRpdiwgdGF4b25Hcm91cCA9PSAiQmVldGxlIikgIyBUaGUgZmlyc3QgYXJndW1lbnQgb2YgdGhlIGZ1bmN0aW9uIGlzIHRoZSBkYXRhIGZyYW1lLCB0aGUgc2Vjb25kIGFyZ3VtZW50IGlzIHRoZSBjb25kaXRpb24geW91IHdhbnQgdG8gZmlsdGVyIG9uLiBCZWNhdXNlIHdlIG9ubHkgd2FudCB0aGUgYmVldGxlcyBoZXJlLCB3ZSBzYXk6IHRoZSB2YXJpYWJsZSB0YXhvbkdyb3VwIE1VU1QgQkUgRVhBQ1RMWSAoPT0pIEJlZXRsZSAtIGRyb3AgZXZlcnl0aGluZyBlbHNlIGZyb20gdGhlIGRhdGFzZXQuIChSIGlzIGNhc2Utc2Vuc2l0aXZlIHNvIGl0J3MgaW1wb3J0YW50IHRvIHdhdGNoIHlvdXIgc3BlbGxpbmchICJiZWV0bGUiIG9yICJCZWV0bGVzIiB3b3VsZCBub3QgaGF2ZSB3b3JrZWQgaGVyZS4pDQpgYGANCg0KYGBge3J9DQpCaXJkIDwtIGZpbHRlcihlZGlkaXYsIHRheG9uR3JvdXAgPT0gIkJpcmQiKQ0KYGBgDQoNCmBgYHtyfQ0KQnV0dGVyZmx5IDwtIGZpbHRlcihlZGlkaXYsIHRheG9uR3JvdXAgPT0gIkJ1dHRlcmZseSIpDQpgYGANCg0KYGBge3J9DQpEcmFnb25mbHkgPC0gZmlsdGVyKGVkaWRpdiwgdGF4b25Hcm91cCA9PSAiRHJhZ29uZmx5IikNCmBgYA0KDQpgYGB7cn0NCkZsb3dlcmluZy5QbGFudHMgPC0gZmlsdGVyKGVkaWRpdiwgdGF4b25Hcm91cCA9PSAiRmxvd2VyaW5nLlBsYW50cyIpDQpgYGANCg0KYGBge3J9DQpGdW5ndXMgPC0gZmlsdGVyKGVkaWRpdiwgdGF4b25Hcm91cCA9PSAiRnVuZ3VzIikNCmBgYA0KDQpgYGB7cn0NCkh5bWVub3B0ZXJhbiA8LSBmaWx0ZXIoZWRpZGl2LCB0YXhvbkdyb3VwID09ICJIeW1lbm9wdGVyYW4iKQ0KYGBgDQoNCmBgYHtyfQ0KTGljaGVuIDwtIGZpbHRlcihlZGlkaXYsIHRheG9uR3JvdXAgPT0gIkxpY2hlbiIpDQpgYGANCg0KYGBge3J9DQpMaXZlcndvcnQgPC0gZmlsdGVyKGVkaWRpdiwgdGF4b25Hcm91cCA9PSAiTGl2ZXJ3b3J0IikNCmBgYA0KDQpgYGB7cn0NCk1hbW1hbCA8LSBmaWx0ZXIoZWRpZGl2LCB0YXhvbkdyb3VwID09ICJNYW1tYWwiKQ0KYGBgDQoNCmBgYHtyfQ0KTW9sbHVzYyA8LSBmaWx0ZXIoZWRpZGl2LCB0YXhvbkdyb3VwID09ICJNb2xsdXNjIikNCmBgYA0KDQpgYGB7cn0NCmEgPC0gbGVuZ3RoKHVuaXF1ZShCZWV0bGUkdGF4b25OYW1lKSkgIyBDcmVhcyB1biBvYmpldG8gY29uIGVsIG7Dum1lcm8gZGUgZGF0b3Mgw7puaWNvcyBlbiB1bmEgdmFyaWFibGUNCmEgIyBNdWVzdHJhIGxvcyBkaWZlcmVudGVzIHRpcG9zIGRlIGVzY2FyYWJham9zIGVuIGxhIHZhcmlhYmxlDQpgYGANCg0KYGBge3J9DQpiIDwtIGxlbmd0aCh1bmlxdWUoQmlyZCR0YXhvbk5hbWUpKSAjIFVuaXF1ZSBpZGVudGlmaWNhIGRpZmVyZW50ZXMgZXNwZWNpZXMgeSBsZW5ndGggbG9zIGN1ZW50YSANCmINCmBgYA0KDQpgYGB7cn0NCmMgPC0gbGVuZ3RoKHVuaXF1ZShCdXR0ZXJmbHkkdGF4b25OYW1lKSkNCmMNCmBgYA0KDQpgYGB7cn0NCmQgPC0gbGVuZ3RoKHVuaXF1ZShEcmFnb25mbHkkdGF4b25OYW1lKSkNCmQNCmBgYA0KDQpgYGB7cn0NCmUgPC0gbGVuZ3RoKHVuaXF1ZShGbG93ZXJpbmcuUGxhbnRzJHRheG9uTmFtZSkpDQplDQpgYGANCg0KYGBge3J9DQpmIDwtIGxlbmd0aCh1bmlxdWUoRnVuZ3VzJHRheG9uTmFtZSkpDQpmDQpgYGANCg0KYGBge3J9DQpnIDwtIGxlbmd0aCh1bmlxdWUoSHltZW5vcHRlcmFuJHRheG9uTmFtZSkpDQpnDQpgYGANCg0KYGBge3J9DQpoIDwtIGxlbmd0aCh1bmlxdWUoTGljaGVuJHRheG9uTmFtZSkpDQpoDQpgYGANCg0KYGBge3J9DQppIDwtIGxlbmd0aCh1bmlxdWUoTGl2ZXJ3b3J0JHRheG9uTmFtZSkpDQppDQpgYGANCg0KYGBge3J9DQpqIDwtIGxlbmd0aCh1bmlxdWUoTWFtbWFsJHRheG9uTmFtZSkpDQpqDQpgYGANCg0KYGBge3J9DQprIDwtIGxlbmd0aCh1bmlxdWUoTW9sbHVzYyR0YXhvbk5hbWUpKQ0Kaw0KYGBgDQoNCmBgYHtyfQ0KYmlvZGl2IDwtIGMoYSxiLGMsZCxlLGYsZyxoLGksaixrKSAjIFNlIGNyZWEgdW4gdmVjdG9yIGNvbiBsYXMgdmFyaWFibGVzIGEsYixjLGQsZSxmLGcsaCxpLGosaw0KYmlvZGl2DQpgYGANCg0KYGBge3J9DQpuYW1lcyhiaW9kaXYpIDwtIGMoIkJlZXRsZSIsDQogICAgICAgICAgICAgICAgICAgIkJpcmQiLA0KICAgICAgICAgICAgICAgICAgICJCdXR0ZXJmbHkiLA0KICAgICAgICAgICAgICAgICAgICJEcmFnb25mbHkiLA0KICAgICAgICAgICAgICAgICAgICJGbG93ZXJpbmcuUGxhbnRzIiwNCiAgICAgICAgICAgICAgICAgICAiRnVuZ3VzIiwNCiAgICAgICAgICAgICAgICAgICAiSHltZW5vcHRlcmFuIiwNCiAgICAgICAgICAgICAgICAgICAiTGljaGVuIiwNCiAgICAgICAgICAgICAgICAgICAiTGl2ZXJ3b3J0IiwNCiAgICAgICAgICAgICAgICAgICAiTWFtbWFsIiwNCiAgICAgICAgICAgICAgICAgICAiTW9sbHVzYyIpICMgQ29uIGxhIGZ1bmNpw7NuIG5hbWVzKCkgcG9uZW1vcyBldGlxdWV0YXMgYSBsb3MgdmFsb3JlcyBkZSB1biB2ZWN0b3INCg0KYmlvZGl2DQpgYGANCg0KYGBge3J9DQpiYXJwbG90KGJpb2RpdikgIyBQYXJhIGNyZWFyIGdyw6FmaWNvIGRlIGJhcnJhcw0KYGBgDQoNCmBgYHtyfQ0KaGVscChiYXJwbG90KSAjIEF5dWRhIHNvYnJlIGxhIGZ1bmNpw7NuIGRlc2VhZGENCmBgYA0KDQpgYGB7cn0NCmhlbHAocGFyKSAjIFBhcmEgb2J0ZW5lciBheXVkYSBzb2JyZSBlbCBwbG90dGVvIGVuIGdlbmVyYWwNCmBgYA0KDQpgYGB7cn0NCiAjIHBuZygpIHkgZGV2Lm9mZigpIGZ1bmNpb25lcyBwYXJhIGd1YXJkYXIgZ3LDoWZpY29zDQpgYGANCg0KYGBge3J9DQpwbmcoImJhcnBsb3QucG5nIiwgd2lkdGg9MTYwMCwgaGVpZ2h0PTYwMCkgIyBHdWFyZGEgZ3LDoWZpY28gY29uIGVzYXMgY2FyYWN0ZXLDrXN0aWNhcw0KYGBgDQoNCmBgYHtyfQ0KYmFycGxvdChiaW9kaXYsIHhsYWI9IlRheGEiLCB5bGFiPSJOdW1iZXIgb2Ygc3BlY2llcyIsIHlsaW09YygwLDYwMCksIGNleC5uYW1lcz0gMS41LCBjZXguYXhpcz0xLjUsIGNleC5sYWI9MS41KSAjIEVsIGPDs2RpZ28gY2V4IGF1bWVudGEgZWwgdGFtYcOxbyBkZSBmdWVudGUgY3VhbmRvIGVzIG1heW9yIHF1ZSB1bm8gKHkgbG8gZGlzbWludXllIGN1YW5kbyBlcyBtZW5vciBxdWUgdW5vKQ0KYGBgDQoNCmBgYHtyfQ0KIyBDcmVhbW9zIHVuIG9iamV0byBsbGFtYWRvICJ0YXhhIiBxdWUgY29udGllbmUgdG9kb3MgbG9zIG5vbWJyZXMgZGUgdGF4YQ0KdGF4YSA8LSBjKCJCZWV0bGUiLA0KICAgICAgICAgICJCaXJkIiwNCiAgICAgICAgICAiQnV0dGVyZmx5IiwNCiAgICAgICAgICAiRHJhZ29uZmx5IiwNCiAgICAgICAgICAiRmxvd2VyaW5nLlBsYW50cyIsDQogICAgICAgICAgIkZ1bmd1cyIsDQogICAgICAgICAgIkh5bWVub3B0ZXJhbiIsDQogICAgICAgICAgIkxpY2hlbiIsDQogICAgICAgICAgIkxpdmVyd29ydCIsDQogICAgICAgICAgIk1hbW1hbCIsDQogICAgICAgICAgIk1vbGx1c2MiKQ0KdGF4YQ0KYGBgDQoNCmBgYHtyfQ0KY2xhc3ModGF4YSkgIyBDb21wcm9iYW1vcyBsYSBjbGFzZSBkZSB2YXJpYWJsZSBxdWUgZXMgdGF4YQ0KYGBgDQoNCmBgYHtyfQ0KdGF4YV9mIDwtIGZhY3Rvcih0YXhhKSAjIENvbnZlcnRpbW9zIHVuYSB2YXJpYWJsZSBlbiB1biBmYWN0b3IgZGUgdGF4YSwgZXMgZGVjaXIgZW4gdW5hIHZhcmlhYmxlIGNhdGVnw7NyaWNhDQpgYGANCg0KYGBge3J9DQpyaWNobmVzcyA8LSBjKGEsYixjLGQsZSxmLGcsaCxpLGosaykgIyBDb21iaW5hbmRvIHRvZG9zIGxvcyB2YWxvcmVzIHBhcmEgZWwgbsO6bWVybyBkZSBlc3BlY2llcyBlbiB1biBvYmpldG8gbGxhbWFkbyByaXF1ZXphDQpyaWNobmVzcw0KYGBgDQogDQpgYGB7cn0NCmJpb2RhdGEgPC0gZGF0YS5mcmFtZSh0YXhhX2YsIHJpY2huZXNzKSAjIENyZWFuZG8gdW4gZGF0YSBmcmFtZSBjb24gZG9zIHZlY3RvcmVzDQpiaW9kYXRhDQpgYGANCiANCmBgYHtyfQ0Kd3JpdGUuY3N2KGJpb2RhdGEsIGZpbGU9ImJpb2RhdGEuY3N2IikgIyBHdWFyZGEgZWwgZGF0YSBmcmFtZSBlbiBmb3JtYSBkZSAuY3N2IGVuIGVsIGRpcmVjdG9yaW8gZGUgdHJhYmFqbyANCmBgYA0KDQpgYGB7cn0NCnBuZygiYmFycGxvdDIucG5nIiwgd2lkdGg9MTYwMCwgaGVpZ2h0PTYwMCkNCmJhcnBsb3QoYmlvZGF0YSRyaWNobmVzcywgbmFtZXMuYXJnPWMoIkJlZXRsZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJCaXJkIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkJ1dHRlcmZseSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJEcmFnb25mbHkiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRmxvd2VyaW5nLlBsYW50cyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJGdW5ndXMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSHltZW5vcHRlcmFuIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkxpY2hlbiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJMaXZlcndvcnQiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWFtbWFsIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1vbGx1c2MiKSwNCiAgICAgICAgeGxhYj0iVGF4YSIsIHlsYWI9Ik51bWJlciBvZiBzcGVjaWVzIiwgeWxpbT1jKDAsNjAwKSkNCg0KIyBDdWFuZG8gc2UgZ3JhZmljYSB1biBmcmFtZSBkYXRhIGhheSBxdWUgZXNwZWNpZmljYXIgZXhhY3RhbWVudGUgcXVlIHNlIHF1aWVyZSBxdWUgc2UgZ3JhZmlxdWUNCmBgYA0K