getwd() # Saber el directorio de trabajo en el que está parado
## [1] "C:/Users/HP/OneDrive/Documentos/00. Curso de Udemy/Curso de Rstudio Avanzado"
setwd("~/00. Curso de Udemy/Curso de Rstudio Avanzado")
Owls <- read.table(file = "Owls.txt", header = T)
names(Owls)
## [1] "Nest" "FoodTreatment" "SexParent"
## [4] "ArrivalTime" "SiblingNegotiation" "BroodSize"
## [7] "NegPerChick"
str(Owls) #Visualizar aquellas variables cuyos tipos de datos son cadenas de
## 'data.frame': 599 obs. of 7 variables:
## $ Nest : chr "AutavauxTV" "AutavauxTV" "AutavauxTV" "AutavauxTV" ...
## $ FoodTreatment : chr "Deprived" "Satiated" "Deprived" "Deprived" ...
## $ SexParent : chr "Male" "Male" "Male" "Male" ...
## $ ArrivalTime : num 22.2 22.4 22.5 22.6 22.6 ...
## $ SiblingNegotiation: int 4 0 2 2 2 2 18 4 18 0 ...
## $ BroodSize : int 5 5 5 5 5 5 5 5 5 5 ...
## $ NegPerChick : num 0.8 0 0.4 0.4 0.4 0.4 3.6 0.8 3.6 0 ...
#caracteres, númerico, enteros, etc.
#View(Owls) #Observar la tabla de valores
#Owls$Nest #Visualizar todos los valores asociados a la variable Nest
unique(Owls$Nest) #Valores únicos asociados
## [1] "AutavauxTV" "Bochet" "Champmartin" "ChEsard"
## [5] "Chevroux" "CorcellesFavres" "Etrabloz" "Forel"
## [9] "Franex" "GDLV" "Gletterens" "Henniez"
## [13] "Jeuss" "LesPlanches" "Lucens" "Lully"
## [17] "Marnand" "Moutet" "Murist" "Oleyes"
## [21] "Payerne" "Rueyes" "Seiry" "SEvaz"
## [25] "StAubin" "Trey" "Yvonnand"
length(unique(Owls$Nest)) #Cuandos valores únicos asociados tiene
## [1] 27
View(Owls[Owls$Nest=="AutavauxTV", ]) #Observa un dataframe
length(Owls[Owls$Nest=="AutavauxTV", ]) #Saber cuando de esos df hay
## [1] 7
Owls.ATV <- Owls[Owls$Nest == "AutavauxTV", ] #Almacenar en una variable
#únicamente los dataframes de los valores AutavauxTV
View(Owls.ATV)
#Gráfico de diagrama de dispersión o scatterplot
plot(x = Owls.ATV$ArrivalTime,
y = Owls.ATV$NegPerChick,
xlab = "Arrival Time",main = "AutavauxTV",
ylab = "Negotiation Behaviour")

#Código General
Owls.Bot <- Owls[Owls$Nest == "Bochet", ] #df de todas las líneas que tienen "Bochet"
View(Owls.Bot)
dim(Owls.Bot) #23 filas u observaciones y 7 columnas
## [1] 23 7
plot(x = Owls.Bot$ArrivalTime,
y = Owls.Bot$NegPerChick,
xlab = "Arrival Time",
ylab = "Negotitation Behavior",
main = "Bochet")

#Códigos más dinámicos y menos mecánicos
#Es lo mismo que el código general pero escrito de distinta forma
#Más práctico
Nest.i <- "Bochet"
Owls.i <- Owls[Owls$Nest == Nest.i, ]
plot(x = Owls.i$ArrivalTime,
y = Owls.i$NegPerChick,
xlab = "Arrival Time", main = Nest.i,
ylab = "Negotitation Behaviour")

#Guardar gráficas en la laptop
#Ruteo: C:\Users\HP\OneDrive\Documentos\00. Curso de Udemy\Curso de Rstudio Avanzado
#Acá guardaremos los gráficos
setwd("C:\\Users\\HP\\OneDrive\\Documentos\\00. Curso de Udemy\\Curso de Rstudio Avanzado")
#Acá cambiamos el directorio
Nest.i <- "Bochet"
class(Nest.i)
## [1] "character"
Owls.i <- Owls[Owls$Nest == Nest.i, ]
YourFileName <- paste(Nest.i, ".jpg", sep = "") #unir todas las palabras, variables, objetos, etc.)
jpeg(file = YourFileName) #Almacenamiento de todas las imágenes en el ruteo que le dimos
plot(x = Owls.i$ArrivalTime,
y = Owls.i$NegPerChick,
xlab = "Arrival Time", main = Nest.i,
ylab = "Negotitation behaviour")
dev.off()
## png
## 2
#Construir loops de manera dinámica
AllNest <- unique(Owls$Nest) #Creación de variable
unique(Owls$Nest) #Valores únicos
## [1] "AutavauxTV" "Bochet" "Champmartin" "ChEsard"
## [5] "Chevroux" "CorcellesFavres" "Etrabloz" "Forel"
## [9] "Franex" "GDLV" "Gletterens" "Henniez"
## [13] "Jeuss" "LesPlanches" "Lucens" "Lully"
## [17] "Marnand" "Moutet" "Murist" "Oleyes"
## [21] "Payerne" "Rueyes" "Seiry" "SEvaz"
## [25] "StAubin" "Trey" "Yvonnand"
length(unique(Owls$Nest))
## [1] 27
setwd("C:\\Users\\HP\\OneDrive\\Documentos\\00. Curso de Udemy\\Curso de Rstudio Avanzado")
for (i in 1:length(unique(Owls$Nest))){ #se pudo poner 1:27, pero esta es dinámica
Nest.i <- AllNest[i] # i = 1 en la primera vuelta.
Owls.i <- Owls[Owls$Nest == Nest.i, ]
YourFileName <- paste(Nest.i, ".jpg", sep = "")
jpeg(file = YourFileName)
plot(x = Owls.i$ArrivalTime, y = Owls.i$NegPerChick,
xlab = "Arrival Time",
ylab = "Negotitation behaviour", main = Nest.i)
dev.off()
}
#Se construyeron gráficos de cada uno de los tipos de nidos (nest)
#Funciones y valores faltantes
setwd("C:\\Users\\HP\\OneDrive\\Documentos\\00. Curso de Udemy\\Curso de Rstudio Avanzado")
#Importar y exportar archivos del ruteo de trabajo
Veg <- read.table(file = "Vegetation2.txt", header = T)
names(Veg)
## [1] "TransectName" "Samples" "Transect" "Time" "R"
## [6] "ROCK" "LITTER" "ML" "BARESOIL" "FallPrec"
## [11] "SprPrec" "SumPrec" "WinPrec" "FallTmax" "SprTmax"
## [16] "SumTmax" "WinTmax" "FallTmin" "SprTmin" "SumTmin"
## [21] "WinTmin" "PCTSAND" "PCTSILT" "PCTOrgC"
#View(Veg)
# N/A´s Values
# Valores faltantes, tomas de datos que no fueron registradas
# que no fueron anotadas ni ubicadas en el sistema
#Creación de la función que dice los N/A x columna
NAPerVarible <- function(X1) { #mide la cant de N/A por cada variable
D1 <- is.na(X1) #identificar valores N/A
#es booleano, si cumple es 1, sino da 0
colSums(D1)
}
#Llamar a la función
NAPerVarible(Veg[,5:24]) #de la columna 5 a la 24
## R ROCK LITTER ML BARESOIL FallPrec SprPrec SumPrec
## 0 0 0 0 0 0 0 0
## WinPrec FallTmax SprTmax SumTmax WinTmax FallTmin SprTmin SumTmin
## 0 0 0 0 0 0 0 0
## WinTmin PCTSAND PCTSILT PCTOrgC
## 0 0 0 0
#Nos muestra que no hay N/As
# Zeros and NAs
setwd("C:\\Users\\HP\\OneDrive\\Documentos\\00. Curso de Udemy\\Curso de Rstudio Avanzado")
Parasite <- read.table(file = "CodParasite.txt", header = T)
names(Parasite) #names(Nombre_Objeto) == colnames(Nombre_Objeto)
## [1] "Sample" "Intensity" "Prevalence" "Year" "Depth"
## [6] "Weight" "Length" "Sex" "Stage" "Age"
## [11] "Area"
#es el mismo resultado de código
#Evaluando si la base de datos tiene valores faltantes:
NAPerVarible(Parasite) #3 de las 11 var tienen valores N/A
## Sample Intensity Prevalence Year Depth Weight Length
## 0 57 0 0 0 6 6
## Sex Stage Age Area
## 0 0 0 0
#Cantidad de valores faltantes que hay en una base de datos
# Visualizar valores nulos por columna (variable)
ZerosPerVariable <- function(X1){
D1 = (X1 == 0) #D1 es una variable ficticia, por estar dentro de la fx
colSums(D1)
}
#Valor faltante no es lo mismo a valor nulo
ZerosPerVariable(Parasite)
## Sample Intensity Prevalence Year Depth Weight Length
## 0 NA 654 0 0 NA NA
## Sex Stage Age Area
## 82 82 84 0
#Intensity, Weight, Length nos muestra N/A porque tenemos fx sensibles
#Ante valores faltantes, realizar cálculos (media, promedios, etc)
#se complica cuando hay valores faltantes
#Si quisieramos corregir la fx ZeroPerVariable haríamos lo sgte:
ZerosPerVariableCorregido <- function(Y1){
D2 = (Y1 == 0)
colSums(D2, na.rm = T)
}
ZerosPerVariableCorregido(Parasite)
## Sample Intensity Prevalence Year Depth Weight Length
## 0 654 654 0 0 0 0
## Sex Stage Age Area
## 82 82 84 0
#Función con varios argumentos
#En este ejemplo que diga los N/A y valores nulos a la vez
VariableInfo <- function(x1, Choice1){
if (Choice1 == "Zeros") {D1 = (x1 == 0)}
if (Choice1 == "NAs") {D1 <- is.na(x1)}
colSums(D1, na.rm = T) #na.rm = T o na.rm
}
VariableInfo(Parasite, "Zeros")
## Sample Intensity Prevalence Year Depth Weight Length
## 0 654 654 0 0 0 0
## Sex Stage Age Area
## 82 82 84 0