library(tidyverse)
censo <- read_csv(file = "censo_ordenado.csv")
censo
meses <- c("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Enero")
meses
## [1] "Enero" "Febrero" "Marzo" "Abril" "Mayo" "Junio" "Enero"
meses_factor1 <- as.factor(meses)
meses_factor1
## [1] Enero Febrero Marzo Abril Mayo Junio Enero
## Levels: Abril Enero Febrero Junio Marzo Mayo
meses_factor2 <- factor(meses,
levels = c("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio"),
labels = c("enero", "febrero", "marzo", "abril", "mayo", "junio"))
meses_factor2
## [1] enero febrero marzo abril mayo junio enero
## Levels: enero febrero marzo abril mayo junio
table(meses_factor2)
## meses_factor2
## enero febrero marzo abril mayo junio
## 2 1 1 1 1 1
prop.table(table(meses_factor2))
## meses_factor2
## enero febrero marzo abril mayo junio
## 0.2857143 0.1428571 0.1428571 0.1428571 0.1428571 0.1428571
Son funciones vectorizadas. Están disponibles para operar por grupos, filas o columnas.
¿Cuáles son los 5 departamentos con mayor número de animales?
X: variable numérica a procesar. En este caso los animales.
INDEX: grupo (factor) sobre el cual se desea operar. En este caso el grupo es el departamento.
FUN: función o “tarea” a ejecutar. En este caso queremos sumar (sum()) los animales
consulta1 <- tapply(X = censo$animales, INDEX = censo$departamento, FUN = sum)
sort(consulta1, decreasing = TRUE)[1:5]
## Antioquia Caqueta Meta Casanare Cordoba
## 3179947 2225152 2164484 2141435 2133853
apply(X = iris[, -5], MARGIN = 2, FUN = mean)
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## 5.843333 3.057333 3.758000 1.199333
lapply(X = iris[, -5], FUN = mean)
## $Sepal.Length
## [1] 5.843333
##
## $Sepal.Width
## [1] 3.057333
##
## $Petal.Length
## [1] 3.758
##
## $Petal.Width
## [1] 1.199333
sapply(X = iris[, -5], FUN = mean)
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## 5.843333 3.057333 3.758000 1.199333
df1 <- censo %>%
filter(departamento %in% c("Antioquia", "Cundinamarca"))
df1
df1 %>%
arrange(animales)
df1 %>%
arrange(desc(animales))
censo %>%
slice(1:10)
censo %>%
distinct(departamento)
censo %>%
distinct(departamento, .keep_all = TRUE)
names(censo) <- c("Depto", "municipio", "tipo", "edad", "Total")
censo
mi_data <- censo %>%
set_names(c("departamento", "mpio", "tipo", "edad", "animales"))
mi_data
censo %>%
rename(Animales = Total, departamento = Depto)
censo %>%
select(Depto, Total)
censo %>%
select(-municipio)
censo %>%
select_if(is.character)
censo %>%
group_by(Depto) %>%
summarise(animales = sum(Total))
censo %>%
group_by(Depto) %>%
summarise(animales = sum(Total)) %>%
arrange(desc(animales)) %>%
slice(1:5)
library(tidyverse)
censo <- read_csv(file = "censo_ordenado.csv")
censo
prueba <- censo %>%
group_by(municipio, tipo) %>%
summarise(total = sum(animales)) %>%
arrange(desc(total))
prueba
class(prueba)
## [1] "grouped_df" "tbl_df" "tbl" "data.frame"
class(censo)
## [1] "spec_tbl_df" "tbl_df" "tbl" "data.frame"
prueba2 <- prueba %>%
ungroup()
class(prueba2)
## [1] "tbl_df" "tbl" "data.frame"
prueba2 %>%
slice(1:10)
censo %>%
group_by(municipio, tipo) %>%
summarise(total = sum(animales)) %>%
ungroup() %>%
arrange(desc(total)) %>%
slice(1:10)
censo %>%
group_by(departamento) %>%
summarise(total = sum(animales))
censo %>%
group_by(departamento) %>%
mutate(total = sum(animales))