[1] 10
[1] 2
[1] 72
Introducción a R
Curso Análisis Cualitativo Comparado
Diego Solís Delgadillo
diego.solis@flacso.edu.mx
Tip
R no sustituye el razonamiento teórico.
Nos ayuda a ejecutar de forma transparente las decisiones analíticas.
R es el lenguaje que realiza los cálculos.
RStudio es una interfaz que facilita el trabajo con R.
Note
Durante el curso trabajaremos principalmente con scripts.
Esto permite guardar y repetir todos los comandos.
Warning
El código escrito únicamente en la consola no queda guardado en el script.
En R, las líneas que comienzan con # son comentarios.
Los comentarios ayudan a organizar y documentar el análisis.
Podemos ejecutar una línea o una selección con:
Ctrl + Enter
En Mac:
Cmd + Enter
| Operación | Símbolo | Ejemplo |
|---|---|---|
| Suma | + |
5 + 5 |
| Resta | - |
9 - 7 |
| Multiplicación | * |
8 * 9 |
| División | / |
20 / 4 |
| Potencia | ^ |
5^2 |
Un objeto permite guardar un resultado para reutilizarlo.
Tip
En R, el operador de asignación más utilizado es <-.
Conviene utilizar nombres:
Un objeto puede cambiar de contenido.
El segundo valor reemplaza al primero.
Note
Los objetos permiten construir análisis complejos a partir de resultados previos.
Los objetos pueden contener distintos tipos de datos.
Un vector contiene una serie de valores del mismo tipo.
La función c() significa combinar.
R identifica cada posición mediante corchetes.
Warning
En R, la primera posición es 1, no 0.
[1] "Morena" "PAN" "PRI" "PVEM" "PT" "MC" "PRD"
Cada elemento de texto debe escribirse entre comillas.
Un data.frame organiza la información en filas y columnas.
Tip
En QCA, cada fila representa normalmente un caso y cada columna una condición o un resultado.
partido curules
1 Morena 200
2 PAN 114
3 PRI 70
4 PVEM 40
5 PT 36
6 MC 25
'data.frame': 7 obs. of 2 variables:
$ partido: chr "Morena" "PAN" "PRI" "PVEM" ...
$ curules: num 200 114 70 40 36 25 15
[1] 7
[1] 2
[1] "partido" "curules"
Estas funciones permiten conocer rápidamente la estructura de los datos.
Una función recibe información, realiza una operación y devuelve un resultado.
Ejemplos:
mean() calcula la media.median() calcula la mediana.sd() calcula la desviación estándar.Los argumentos modifican el comportamiento de una función.
En este ejemplo:
curules es el objeto analizado;decreasing = TRUE ordena de mayor a menor.En R, los valores perdidos se representan con NA.
NA significa Not Available.
R devuelve NA porque no puede calcular la media sin una instrucción adicional.
El argumento na.rm = TRUE indica que los valores perdidos deben excluirse del cálculo.
Warning
Eliminar casos con información faltante puede modificar la muestra.
En un análisis real, esta decisión debe justificarse.
Los paquetes amplían las funciones disponibles en R.
Para este curso utilizaremos principalmente:
QCA;SetMethods;tidyverse;venn.La instalación se realiza una sola vez en cada computadora.
install.packages("QCA")
install.packages("SetMethods")
install.packages("tidyverse")
install.packages("venn")Warning
No conviene incluir install.packages() dentro de un script que se ejecutará repetidamente.
Los paquetes deben cargarse cada vez que iniciamos una nueva sesión.
Los paquetes también deben citarse en trabajos académicos.
Tip
La reproducibilidad también implica reconocer el software utilizado.
Supongamos tres condiciones:
DES: desarrollo alto;DEM: democracia;STB: estabilidad política.$DES
[1] "Chile" "Uruguay" "Costa Rica" "México"
$DEM
[1] "Chile" "Uruguay" "Costa Rica" "Argentina"
$STB
[1] "Chile" "Uruguay" "México" "Perú"
Una lista permite almacenar objetos de distinta longitud.
Note
El diagrama permite identificar visualmente intersecciones y diferencias entre conjuntos.
La intersección contiene los casos que pertenecen simultáneamente a dos conjuntos.
En lenguaje QCA:
DES*DEM
La unión contiene los casos que pertenecen a uno u otro conjunto.
En lenguaje QCA:
DES + DEM
En lenguaje QCA:
DES*DEM*STB
El resultado identifica los casos que pertenecen a DES, pero no a DEM.
Para calcular una ausencia debemos definir el universo de casos.
datos <- data.frame(
caso = c(
"Chile", "Uruguay", "Costa Rica", "México",
"Argentina", "Perú", "Bolivia"
),
DES = c(1, 1, 1, 1, 0, 0, 0),
DEM = c(1, 1, 1, 0, 1, 0, 0),
STB = c(1, 1, 0, 1, 0, 1, 0)
)
datos caso DES DEM STB
1 Chile 1 1 1
2 Uruguay 1 1 1
3 Costa Rica 1 1 0
4 México 1 0 1
5 Argentina 0 1 0
6 Perú 0 0 1
7 Bolivia 0 0 0
$El símbolo $ permite seleccionar una columna de una base.
[1] "Chile" "Uruguay" "Costa Rica" "México" "Argentina"
[6] "Perú" "Bolivia"
[1] 1 1 1 1 0 0 0
También podemos combinarlo con una condición lógica:
| Operador | Significado |
|---|---|
== |
igual a |
!= |
distinto de |
> |
mayor que |
< |
menor que |
>= |
mayor o igual que |
<= |
menor o igual que |
& |
y |
| |
o |
caso DES DEM STB SURV
1 Chile 1 1 1 1
2 Uruguay 1 1 1 1
3 Costa Rica 1 1 0 1
4 México 1 0 1 0
5 Argentina 0 1 0 0
6 Perú 0 0 1 0
7 Bolivia 0 0 0 0
Aquí, SURV representa supervivencia democrática.
| Expresión | Operación | Interpretación |
|---|---|---|
X*Y |
Intersección | X y Y |
X+Y |
Unión | X o Y |
~X |
Complemento | ausencia de X |
X ≤ Y
Los casos con la condición X están dentro del resultado Y.
Y ≤ X
Los casos con el resultado Y están dentro de la condición X.
R nos permite traducir el razonamiento conjuntista en operaciones reproducibles.
En las siguientes sesiones utilizaremos estas herramientas para: