Está en la página 1de 2

Domar Datos Datos Ordenados - La base para domar datos en R

con dplyr and tidyr En un F MA F M A


Datos ordenados complementan las M * A F

&
conjunto de
operaciones vectorizadas de R.
Hoja de Referencia datos
ordenado: Automáticamente R preserva observaciones
mientras manipulas las variables. No hay otro
Cada variable tiene Cada observación formato que funciona tan intuitivamente en R. M * A
su propia columna tiene su propia fila

Sintaxis - Convenciones útiles para la doma Remodelar Datos - Cambia el esquema de los datos
dplyr::tbl_df(iris) dplyr::data_frame(a = 1:3, b = 4:6)
Convierte datos a una tbl. Objetos tbl son mas fáciles de
inspeccionar que data frames. Ro solo muestra los datos ww
ww ww
ww
Combina vectores en un data
frame (optimizado).
que caben en la pantalla: ww
1005
A ww
1005
A dplyr::arrange(mtcars, mpg)
1013
A
1010
A 1013
A
1010
A Ordena filas por valores de una
Source: local data frame [150 x 5]

Sepal.Length Sepal.Width Petal.Length


tidyr::gather(cases, "year", "n", 2:4)
Reune columnas en filas. 1010
A 1010
A
tidyr::spread(pollution, size, amount)
Extiende filas en columnas.
columna (bajo a alto).
dplyr::arrange(mtcars, desc(mpg))
1 5.1 3.5 1.4
2 4.9 3.0 1.4 Ordena filas por valores de una
3 4.7 3.2 1.3
columna (alto a bajo).
4
5
4.6
5.0
3.1
3.6
1.5
1.4
w
110w
110p
1007 ww
110p
110
1007 ww
110p
110
1007 w
110w
110p
1007 dplyr::rename(tb, y = year)
.. ... ... ...
Variables not shown: Petal.Width (dbl),
Species (fctr)
45
1009
45 45
1009
45
tidyr::separate(storms, date, c("a", "m", "d"))
Separa una columna en varias. 45 45
45
1009 1009
45
tidyr::unite(data, col, ..., sep)
Une varias columnas en una.
Cambia el nombre de columnas de
un data frame.

dplyr::glimpse(iris)
Resumen con mucha información sobre los datos tbl.
Subconjuntos de Observaciones Subconjuntos de Variables
utils::View(iris)
Observa el conjunto de datos en lo que parece una hoja
de cálculo (nota la V mayúscula). w
110w
110w
110ww wwww
110
110 wp
110pw
1007
1007
110
dplyr::filter(iris, Sepal.Length > 7)
Extrae filas que cumplen criterios lógicos.
1009
45
1009
45
dplyr::select(iris, Sepal.Width, Petal.Length, Species)
Selecciona columnas por nombre o funciones de ayuda.
dplyr::distinct(iris)
Remueve filas duplicadas. Funciones de ayuda para for select - ?select
dplyr::sample_frac(iris, 0.5, replace = TRUE) select(iris, contains("."))
Selecciona una fracción de filas al azar. Selecciona columnas cuyos nombres contienen una cadena de caracteres.
select(iris, ends_with("Length"))
dplyr::sample_n(iris, 10, replace = TRUE)
Selecciona columnas cuyos nombres terminan con una cadena de caracteres.
Selecciona n filas al azar. select(iris, everything())
dplyr::%>% dplyr::slice(iris, 10:15) Selecciona todas las columnas.
Pasa el objeto a la izquierda al primer argumento (o Selecciona filas por posición. select(iris, matches(".t."))
argumento . ) de la función a la derecha creando un tubo. Selecciona columnas cuyo nombre cumple con una expresión regular.
dplyr::top_n(storms, 2, date) select(iris, num_range("x", 1:5))

x %>% f(y) es lo mismo que f(x, y)


Selecciona y ordena las n entradas mas altas (por grupo si los Selecciona columna con nombres x1, x2, x3, x4, x5.
datos estan agrupados). select(iris, one_of(c("Species", "Genus")))
y %>% f(x, ., z) es lo mismo que f(x, y, z ) Selecciona columnas cuyos nombres están en un grupo de nombres.
Lógica in R - ?Comparison, ?base::Logic select(iris, starts_with("Sepal"))
El uso de tubos y tuberias (en Ingles: “Piping”) con %>% < Menor de != No equivale a Selecciona columnas cuyos nombres comienzan con una cadena de caracteres.
resulta en código mas legible. Por ejemplo: > Mayor a %in% Membrecia de grupo select(iris, Sepal.Length:Petal.Width)
== is.na Selecciona todas las columnas entre Sepal.Length and Petal.Width (incluyente).
iris %>% equivale a Es NA
group_by(Species) %>% select(iris, -Species)
<= Menos o equivalente a !is.na No es NA
summarise(avg = mean(Sepal.Width)) %>% Selecciona todas las columnas excepto Species.
arrange(avg) >= Mayor o equivalente a &,|,!,xor,any,all Operadores Booleanos
RStudio® es un marca registrada de RStudio, Inc. • CC BY RStudio • info@rstudio.com • 844-448-1212 • rstudio.com devtools::install_github("rstudio/EDAWR") para sets de datos Lee mas con browseVignettes(package = c("dplyr", "tidyr")) • dplyr 0.4.0• tidyr 0.2.0 • Actualizado: 1/15
Traducido por Frans van Dunné • www.ixpantia.com
Resumir Datos Crea Nuevas Variables Combina Conjuntos de Datos
a b
x1 x2 x1 x3

+ =
A 1 A T
B 2 B F
C 3 D T
dplyr::summarise(iris, avg = mean(Sepal.Length)) dplyr::mutate(iris, sepal = Sepal.Length + Sepal. Width)
Uniones mutantes
Resume datos a una sola fila de valores. Calcula y añade una o mas columnas nuevas.
dplyr::left_join(a, b, by = "x1")
x1 x2 x3
dplyr::summarise_each(iris, funs(mean)) dplyr::mutate_each(iris, funs(min_rank)) A 1 T

Aplica la función summary a cada columna. Aplica una función de ventana a cada columna.
B
C
2
3
F
NA Une filas coincidentes de b a a.
dplyr::count(iris, Species, wt = Sepal.Length) dplyr::transmute(iris, sepal = Sepal.Length + Sepal. Width) x1 x3 x2 dplyr::right_join(a, b, by = "x1")
A T 1
Cuenta el número de valores únicos para cada variable Calcula una o más columnas nuevas, borra columnas B F 2 Une filas coincidentes de a a b.
D T NA
(con o sin ponderación). originales.
x1 x2 x3 dplyr::inner_join(a, b, by = "x1")
A 1 T
función de Función de B 2 F Une datos. Mantener solo filas en ambos.
resumen ventana x1
A
x2
1
x3
T
dplyr::full_join(a, b, by = "x1")
Summarise usa funciones de resumen, funciones que Mutate usa funciones de ventana, funciones que toman un B
C
2
3
F
NA
Une datos. Mantener todos los valores,
toman un vector de valores y devuelven un solo valor como: vector de valores y devuelven otro vector de valores como: D NA T todas las filas.
dplyr::lead Uniones con filtros
dplyr::first min dplyr::cumall
Copia con valores adelantados por dplyr::semi_join(a, b, by = "x1")
Primer valor de un vector. Valor mínimo en un vector. x1 x2
1. all cumulativo A 1
dplyr::last max B 2 Todas las filas con coincidencia en b.
dplyr::lag dplyr::cumany
Último valor de un vector. Valor máximo en un vector. dplyr::anti_join(a, b, by = "x1")
Copia con valores atrasados por 1. any cumulativo x1 x2

dplyr::nth mean C 3
dplyr::dense_rank dplyr::cummean Todas las filas sin coincidencia en b.
N-avo valor de un vector. Valor promedio de un vector.
median Rangos sin brechas. mean cumulativo y z
dplyr::n dplyr::min_rank cumsum
Valores mediano en un x1 x2 x1 x2

+ =
# de valores en u vector. vector. Rangos. Empates reciben rango min. sum cumulativo A 1 B 2
C 3
dplyr::n_distinct var cummax
B 2
dplyr::percent_rank C 3 D 4
# valores distintos en un Varianza de un vector. max cumulativo Operaciones de conjuntos
Rangos con escala del [0, 1].
vector sd dplyr::row_number cummin
IQR Desviación estándar de un
x1 x2
dplyr::intersect(y, z)
Rangos. Empates van al primer min cumulativo B 2
IQR de un vector vector. valor.
C 3
Filas que aparecen en y y z.
cumprod
x1 x2
dplyr::ntile
Group Data Separa vector en n baldes.
prod cumulativo
pmax
A
B
1
2
dplyr::union(y, z)
C 3 Filas que aparecen en una o ambas y y z.
dplyr::group_by(iris, Species) dplyr::between max por elementos
D 4

Agrupo datos en filas por los valores en Species. Los valores están entre a y b? pmin x1 x2 dplyr::setdiff(y, z)
A 1
dplyr::ungroup(iris) dplyr::cume_dist min por elementos Filas que aparecen en y pero no en z.
Remueve la agrupación del data frame. Distribución cumulativa. Ligar

iris %>% group_by(Species) %>% summarise(…) iris %>% group_by(Species) %>% mutate(…) x1 x2
A 1

Calcula una fila separada con el resumen para cada grupo. Calcula nuevas variables por grupo.
B 2 dplyr::bind_rows(y, z)
C 3
B
C
2
3
Añade z a y como nuevas filas
D 4
ir ir dplyr::bind_cols(y, z)
C x1 x2 x1 x2
A 1 B 2 Añade z a y como nuevas columnas.
B 2 C 3
C 3 D 4 Ojo: distribuye filas por posición.
RStudio® es un marca registrada de RStudio, Inc. • CC BY RStudio • info@rstudio.com • 844-448-1212 • rstudio.com devtools::install_github("rstudio/EDAWR") para sets de datos Lee mas con browseVignettes(package = c("dplyr", "tidyr")) • dplyr 0.4.0• tidyr 0.2.0 • Actualizado: 1/15
Traducido por Frans van Dunné • www.ixpantia.com

También podría gustarte