#install.packages("dplyr")
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
#Tenga en cuenta que hay comillas al instalar un paquete, pero no al cargarlo
#y recuerde que los hashtags le permiten agregar notas útiles a su código.
setwd("D:/mis documentos/ingenieria civil/semestre 10/Electiva 2/Taller_1_del_club_de codificacion_Conceptos_basicos_de_R")
edidiv <- read.csv("D:/mis documentos/ingenieria civil/semestre 10/Electiva 2/Taller_1_del_club_de codificacion_Conceptos_basicos_de_R/CC-RBasics-master/edidiv.csv")
#Esta es la ruta del archivo según el lugar donde guardé los datos, su ruta de archivo será diferente
head(edidiv) #Muestra las primeras filas
## organisationName gridReference year taxonName
## 1 Joint Nature Conservation Committee NT265775 2000 Sterna hirundo
## 2 Joint Nature Conservation Committee NT235775 2000 Sterna hirundo
## 3 Joint Nature Conservation Committee NT235775 2000 Sterna paradisaea
## 4 British Trust for Ornithology NT27 2000 Branta canadensis
## 5 British Trust for Ornithology NT27 2000 Branta leucopsis
## 6 The Wildlife Information Centre NT27S 2001 Turdus merula
## taxonGroup
## 1 Bird
## 2 Bird
## 3 Bird
## 4 Bird
## 5 Bird
## 6 Bird
tail(edidiv) #Muestra las últimas filas
## organisationName gridReference year
## 25679 The Mammal Society NT278745 2016
## 25680 The Mammal Society NT277724 2016
## 25681 The Mammal Society NT266728 2016
## 25682 The Mammal Society NT270728 2016
## 25683 The Mammal Society NT257762 2016
## 25684 People's Trust for Endangered Species NT2372 2016
## taxonName taxonGroup
## 25679 Sciurus carolinensis Mammal
## 25680 Capreolus capreolus Mammal
## 25681 Sciurus carolinensis Mammal
## 25682 Oryctolagus cuniculus Mammal
## 25683 Vulpes vulpes Mammal
## 25684 Erinaceus europaeus Mammal
str(edidiv) #Te dice si las variables son continuas, enteras, categóricas o caracteres
## 'data.frame': 25684 obs. of 5 variables:
## $ organisationName: chr "Joint Nature Conservation Committee" "Joint Nature Conservation Committee" "Joint Nature Conservation Committee" "British Trust for Ornithology" ...
## $ gridReference : chr "NT265775" "NT235775" "NT235775" "NT27" ...
## $ year : int 2000 2000 2000 2000 2000 2001 2001 2001 2001 2001 ...
## $ taxonName : chr "Sterna hirundo" "Sterna hirundo" "Sterna paradisaea" "Branta canadensis" ...
## $ taxonGroup : chr "Bird" "Bird" "Bird" "Bird" ...
head(edidiv$taxonGroup) #Muestra solo las primeras filas de esta columna
## [1] "Bird" "Bird" "Bird" "Bird" "Bird" "Bird"
class(edidiv$taxonGroup) #Te dice con qué tipo de variable estamos tratando es el carácter ahora pero queremos que sea un factor
## [1] "character"
edidiv$taxonGroup <- as.factor(edidiv$taxonGroup) #¿Qué estamos haciendo aquí ?!
# Mas exploracion
dim(edidiv) #Muestra el número de filas y columnas
## [1] 25684 5
summary(edidiv) #Le da un resumen de los datos
## organisationName gridReference year taxonName
## Length:25684 Length:25684 Min. :2000 Length:25684
## Class :character Class :character 1st Qu.:2006 Class :character
## Mode :character Mode :character Median :2009 Mode :character
## Mean :2009
## 3rd Qu.:2011
## Max. :2016
##
## taxonGroup
## Butterfly :9670
## Bird :7366
## Flowering.Plants:2625
## Mollusc :2226
## Hymenopteran :1391
## Mammal : 960
## (Other) :1446
summary(edidiv$taxonGroup) #Le brinda un resumen de esa variable (columna) en particular en su conjunto de datos
## Beetle Bird Butterfly Dragonfly
## 426 7366 9670 421
## Flowering.Plants Fungus Hymenopteran Lichen
## 2625 334 1391 140
## Liverwort Mammal Mollusc
## 125 960 2226
Beetle <- filter(edidiv, taxonGroup == "Beetle") #El primer argumento de la función es el marco de datos, el segundo argumento es la condición por la que desea filtrar. Debido a que solo queremos los escarabajos aquí, decimos la variable taxonGroup DEBE SER EXACTAMENTE (==) Beetle elimine todo lo demás del conjunto de datos. (R distingue entre mayúsculas y minúsculas, por lo que es importante tener cuidado con la ortografía."Beetle" o "Beetles" no habrían funcionado aquí).
Bird <- filter(edidiv, taxonGroup == "Bird") # Hacemos lo mismo con las aves. Es muy similar al filtrado en Excel si está acostumbrado.
# Puede crear los objetos para los taxones restantes. Si necesita recordar los nombres y la ortografía, escriba resumen (edidiv $ taxonGroup)
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))
b <- length(unique(Bird$taxonName))
c <- length(unique(Butterfly$taxonName))
d <- length(unique(Dragonfly$taxonName))
e <- length(unique(Flowering.Plants$taxonName))
f <- length(unique(Fungus$taxonName))
g <- length(unique(Hymenopteran$taxonName))
h <- length(unique(Lichen$taxonName))
i <- length(unique(Liverwort$taxonName))
j <- length(unique(Mammal$taxonName))
k <- length(unique(Mollusc$taxonName))
# Puedes elegir los nombres que quieras para tus objetos, aquí utilicé a, b, c, d ... en aras de la brevedad.
biodiv <-c (a,b,c,d,e,f,g,h,i,j,k) #Estamos encadenando todos los valores; preste atención a los nombres de los objetos que ha calculado y su orden
names(biodiv) <- c("Beetle","Bird","Butterfly","Dragonfly","Flowering.Plants","Fungus","Hymenopteran","Lichen","Liverwort","Mammal","Mollusc")
barplot(biodiv)

help(barplot) #Para obtener ayuda con la función barplot ()
## starting httpd help server ... done
help(par) # Para obtener ayuda con el trazado en general
png("barplot.png", width=1600, height=600)
barplot(biodiv, xlab="Taxa", ylab="Number of species", ylim=c(0,600), cex.names=0.56, cex.axis=1.5,cex.lab=1.5)
# dev.off()
# El código cex aumenta el tamaño de fuente cuando es mayor que uno (y lo disminuye cuando es menor que uno).
#Creando 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")
#Convertir este objeto en un factor, es decir, una variable categórica
taxa_f <- as.factor(taxa)
#Combinando todos los valores para el número de especies en un objeto llamado riqueza
riqueza <- c(1,2,3,4,5,6,7,8,9,10,11)
#Creando el marco de datos a partir de los dos vectores
biodata <- data.frame(taxa_f,riqueza)
#Guardando el archivo
write.csv(biodata, file="biodata.csv")
png("barplot2.png", width=1600, height=600)
barplot(biodata$riqueza, names.arg=c("Beetle","Bird","Butterfly","Dragonfly","Flowering.Plants","Fungus","Hymenopteran","Lichen","Liverwort","Mammal","Mollusc"), xlab="especies", ylab="Numero de especies", ylim=c(0,600))
# dev.off()