Hasta ahora se ha trabajado con conjuntos de datos de dimensiones pequeñas, si se tuviese que trabajar con 500 observaciones para 20 variables, ¿trabajaríamos igual? Seguro que no y por varias razones. La principal, seguro que nos equivocamos al introducir los datos a mano.
En estos casos se suele tener la información en archivos externos en formato de hoja de cálculo o texto plano. Veremos cómo incorporar esta información a R.
Desde una hoja de excel
Mediante el paquete readxl:
# install.packages("readxl") # sólo es necesario instalarlo una vezlibrary(readxl) # una vez instalado, hay que cargarlo (siempre que se quiera usar en una nueva sesión)datos =read_excel("RLaTeX.xls", sheet =1, col_names =TRUE, col_types =c("numeric","text","text","numeric","text","numeric"))# como la hoja de datos está en el mismo directorio de trabajo del archivo con el que estamos trabajando, sólo hay que especificar su nombre# si no fuese así, habría que especificar la ruta relativa o absoluta (por ejemplo, dirección web) que lleve a la ubicación del archivo# con 'sheet' indicamos la hoja del libro de excel de la que queremos leer los datos# con 'col_names' indicamos si en la primera línea están el nombre de las variables# con 'col_types' indicamos el tipo de variable que es: numérica o de caracteres # ¡¡¡¡asegurarse de que el delimitar decimal usado es el punto!!!!!head(datos) # muestra el nombre de las variables y las primeras observaciones
# A tibble: 6 × 6
Orden Nombre Apellidos Nota Genero Edad
<dbl> <chr> <chr> <dbl> <chr> <dbl>
1 1 Ainara Riquelme 3.81 Mujer 27
2 2 Claudia Menchén 4.66 Mujer 24
3 3 Michael García 6.19 Hombre 25
4 4 Luis Miragaya 6.74 Hombre 25
5 5 Mario Segovia 4.75 Hombre 23
6 6 Catalina Escobar 5.86 Mujer 26
Si bien con la instalación básica de R se pueden realizar numerosos análisis, no deja de ser una instalación básica, por lo que en ciertas ocasiones (como esta) es necesario instalar paquetes (disponibles en CRAN https://cran.r-project.org/) que permitan usar una serie de comandos extras. Estos paquetes se instalan mediante el comando install.packages.
¡Cuidado con el delimitador decimal definido en la hoja de cálculo! Recordemos que en R es el punto. Si no coincide, tendremos problemas para incorporar los datos.
A partir de entonces funciona como una matriz:
datos[1,] # primera fila de 'datos'
# A tibble: 1 × 6
Orden Nombre Apellidos Nota Genero Edad
<dbl> <chr> <chr> <dbl> <chr> <dbl>
1 1 Ainara Riquelme 3.81 Mujer 27
otros.datos =read.table("RLaTeX.csv", header=T, sep=";")# mismas apreciaciones de antes sobre el nombre del archivo# con 'header' indicamos si en la primera línea están el nombre de las variables# con 'sep' indicamos cómo se separan las columnas (variables) del archivo# ¡¡¡¡asegurarse de que el delimitar decimal usado es el punto!!!!!head(otros.datos)
Orden Nombre Apellidos Nota Genero Edad
1 1 Ainara Riquelme 3.81 Mujer 27
2 2 Claudia Menchen 4.66 Mujer 24
3 3 Michael Garcia 6.19 Hombre 25
4 4 Luis Miragaya 6.74 Hombre 25
5 5 Mario Segovia 4.75 Hombre 23
6 6 Catalina Escobar 5.86 Mujer 26
Este comando es más estable que el anterior, por lo que en muchas ocasiones es aconsejable guardar los datos de la hoja excel como CSV (delimitado por comas)(*.csv). Otras opciones interesantes son los comandos scan o data.frame.
Jugueteamos con los datos:
attach(otros.datos) Nota[Genero=="Mujer"] # notas de sólo las mujeres
tapply(Nota, Genero, summary) # calcula un resumen ('summary') de la variable 'Nota' distinguiendo por el 'Genero'
$Hombre
Min. 1st Qu. Median Mean 3rd Qu. Max.
4.490 4.987 6.185 5.897 6.668 7.300
$Mujer
Min. 1st Qu. Median Mean 3rd Qu. Max.
3.810 4.615 6.000 5.553 6.390 7.450
Nota[Apellidos=="Garcia"]
[1] 6.19 6.15 7.30
Nota[Edad>median(Edad)] # notas de las personas con edad superior a la edad mediana
[1] 3.81 5.86 6.14 6.73 7.45 6.48 5.19
# es decir, nota del 50% de las personas con mayor edadmean(Edad[Genero=="Mujer"]) # edad media de las mujeres