# Creacion de vectores
<- c("Ana", "Beatriz", " Carmen", " Diana")
nombres <- c(22, 26, 20, 23)
edad <- c(1.64, 1.65, 1.61, 1.66)
estatura <- c(F, F, T, F) soltera
Dataframe
1. Creación de dataframe
Creación de un dataframe a partir de vectores.
# Creacion de dataframe
<- data.frame(nombres, edad, estatura, soltera)
df df
nombres edad estatura soltera
1 Ana 22 1.64 FALSE
2 Beatriz 26 1.65 FALSE
3 Carmen 20 1.61 TRUE
4 Diana 23 1.66 FALSE
class(df)
[1] "data.frame"
Importación desde un paquete de R.
<- iris
df_iris head(df_iris, 3)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
2. Selección de elementos
a. Seleccionar filas
Seleccionar 1 fila
<- df_iris[5, ]
fila1 fila1
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
5 5 3.6 1.4 0.2 setosa
Seleccionar varias filas consecutivas
<- df_iris[10:15, ]
fila2 fila2
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
10 4.9 3.1 1.5 0.1 setosa
11 5.4 3.7 1.5 0.2 setosa
12 4.8 3.4 1.6 0.2 setosa
13 4.8 3.0 1.4 0.1 setosa
14 4.3 3.0 1.1 0.1 setosa
15 5.8 4.0 1.2 0.2 setosa
Seleccionar filas intercaladas
<- df_iris[c(5,10,15,20,25), ]
fila3 fila3
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
5 5.0 3.6 1.4 0.2 setosa
10 4.9 3.1 1.5 0.1 setosa
15 5.8 4.0 1.2 0.2 setosa
20 5.1 3.8 1.5 0.3 setosa
25 4.8 3.4 1.9 0.2 setosa
b. Seleccionar columnas
Seleccionar 1 columna
<- df_iris[3]
col1 head(col1, n=3)
Petal.Length
1 1.4
2 1.4
3 1.3
Seleccionar varias columnas consecutivas
<- df_iris[3:5]
col2 head(col2, n=3)
Petal.Length Petal.Width Species
1 1.4 0.2 setosa
2 1.4 0.2 setosa
3 1.3 0.2 setosa
Seleccionar columnas intercaladas
<- df_iris[c(1,3,5)]
col3 head(col3, n=3)
Sepal.Length Petal.Length Species
1 5.1 1.4 setosa
2 4.9 1.4 setosa
3 4.7 1.3 setosa
Seleccionar todas las columnas excepto un grupo determinado
# Todas las columnas menos la columna 3 y 4
<- df_iris[-c(3,4)]
col4 head(col4, n=3)
Sepal.Length Sepal.Width Species
1 5.1 3.5 setosa
2 4.9 3.0 setosa
3 4.7 3.2 setosa
Seleccionar filas y columnas
# Columnas 1, 2 y 5 / Filas 25 a la 30
<- df_iris[c(25:30),c(1,2,5)]
col5 col5
Sepal.Length Sepal.Width Species
25 4.8 3.4 setosa
26 5.0 3.0 setosa
27 5.0 3.4 setosa
28 5.2 3.5 setosa
29 5.2 3.4 setosa
30 4.7 3.2 setosa
3. Extracción de información
Número de columnas
ncol(df_iris)
[1] 5
Número de filas
nrow(df_iris)
[1] 150
Nombres de las columnas
colnames(df_iris)
[1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species"
Nombres de las filas
head(rownames(df_iris), n=10)
[1] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10"
Resumen estadístico
summary(df_iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width
Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100
1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300
Median :5.800 Median :3.000 Median :4.350 Median :1.300
Mean :5.843 Mean :3.057 Mean :3.758 Mean :1.199
3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800
Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500
Species
setosa :50
versicolor:50
virginica :50
4. Modificacion de filas y columnas
df
nombres edad estatura soltera
1 Ana 22 1.64 FALSE
2 Beatriz 26 1.65 FALSE
3 Carmen 20 1.61 TRUE
4 Diana 23 1.66 FALSE
a. Agregar columnas
Agregar una nueva columna al final
# Nueva columna
<- c(62, 58, 59, 65) peso_kg
$peso <- peso_kg
df df
nombres edad estatura soltera peso
1 Ana 22 1.64 FALSE 62
2 Beatriz 26 1.65 FALSE 58
3 Carmen 20 1.61 TRUE 59
4 Diana 23 1.66 FALSE 65
b. Cambiar posiciones de las columnas
<- df[c(1,5,2,3,4)]
df df
nombres peso edad estatura soltera
1 Ana 62 22 1.64 FALSE
2 Beatriz 58 26 1.65 FALSE
3 Carmen 59 20 1.61 TRUE
4 Diana 65 23 1.66 FALSE
c. Eliminar columnas
# Eliminar columna 2 y 4
<- df[-c(2,4)]
df df
nombres edad soltera
1 Ana 22 FALSE
2 Beatriz 26 FALSE
3 Carmen 20 TRUE
4 Diana 23 FALSE
d. Agregar filas
# Nueva fila
<- list("Elena", 25, TRUE) fila
<- rbind(df, fila)
df df
nombres edad soltera
1 Ana 22 FALSE
2 Beatriz 26 FALSE
3 Carmen 20 TRUE
4 Diana 23 FALSE
5 Elena 25 TRUE
e. Cambiar posición de filas
<- df[c(5,4,3,2,1),]
df df
nombres edad soltera
5 Elena 25 TRUE
4 Diana 23 FALSE
3 Carmen 20 TRUE
2 Beatriz 26 FALSE
1 Ana 22 FALSE
f. Eliminar filas
# Eliminar fila 2 y 5
<- df[-c(2,5),]
df df
nombres edad soltera
5 Elena 25 TRUE
3 Carmen 20 TRUE
2 Beatriz 26 FALSE
5. Modificación de valores
Modificar los valores de una columna
# Modificar los valores de la columna EDAD
$edad <- c(23,28,24)
df df
nombres edad soltera
5 Elena 23 TRUE
3 Carmen 28 TRUE
2 Beatriz 24 FALSE
Modificar los valores de una fila
# Modificar los valores de la fila 2
2,] <- list("Clara", 22, FALSE)
df[ df
nombres edad soltera
5 Elena 23 TRUE
3 Clara 22 FALSE
2 Beatriz 24 FALSE
Modificar los valores de una celda
# Modificar la fila 3 y columna 1
3,1] <- "Blanca"
df[ df
nombres edad soltera
5 Elena 23 TRUE
3 Clara 22 FALSE
2 Blanca 24 FALSE