SPSS: uno de los más usado en Ciencias Sociales
1
EXCEL:
2
Python: un lenguaje de programación de mayor potencia
Al ser un lenguaje de programación sus usos son más amplios que los anteriores softwares señalados.
Sus características se pueden aplicar al desarrollo de páginas web, sistemas de almacenamiento de información,
programación de otros softwares, operaciones matemáticas y estadísticas. 3
Python: un lenguaje de programación de mayor potencia
Como se verá, tiene características similares a R: es un programa gratuito de código abierto, que cuenta con una
comunidad científica activa que colabora permanentemente en su desarrollo, elementos que permiten que integre
múltiples aplicaciones adicionales a su versión básica, para diferentes campos de aplicación.
Contar con un lenguaje de programación intuitivo hace que una de sus principales ventajas frente a R sea la de una
curva de aprendizaje más rápida. Por otro lado, presenta una mayor capacidad para trabajar con el procesamiento de
datos textuales (text mining, text analysis), es más eficiente en el manejo de grandes bases de datos y también presenta
mejores recursos para manejar grandes volúmenes de información - incluyendo metadatos - como aquellos que pueden
ser extraídos desde Internet (técnicas conocidas como webscrapping). Sin embargo, presenta menos desarrollo que R en
relación al desarrollo de herramientas de visualización de datos y en paquetes específicos para análisis estadístico
multivariado.
4
R: el temido
5
R: el temido
Se trata de un proyecto colaborativo en la medida que los mismos usuarios van desarrollando nuevas aplicaciones que
son compartidas gratuitamente en la página oficial del software; así, R está en permanente ampliación: es un proyecto
abierto y gratuito.
6
Es uno de los softwares con una mayor variedad de herramientas de análisis estadístico univariado y multivariado, no
sólo para las ciencias sociales sino también para otras disciplinas.5 Al ser un programa de contribución libre (código
abierto) no requiere la adquisición de una licencia pagada para su uso; existe además una amplia variedad de
paquetes descargables de modo gratuito que son desarrollados por usuarios a lo largo de todo el mundo, lo que
permite estar al día en cuanto a la exigencia de incorporar nuevas y más sofisticadas herramientas de un modo
gratuito y libre. Adicionalmente se trata de un programa “liviano” que gasta poca memoria computacional para ser
ejecutado. Todos estos atributos lo configuran como una alternativa bastante interesante para el análisis estadístico de
datos sociales.
versión básica del programa dista mucho de ser amigable no hay que desesperar EXISTEN soluciones
(gratuitas) para este asunto.
7
VENTAJAS DE R
Costo. Herramientas como R y Pyhton son las únicas que presentan una modalidad gratuita de distribución y uso, lo
que las pone por delante de las otras alternativas presentadas. Como ya ha sido señalado Microsoft Excel, SPSS y Stata
requieren la adquisición de una licencia pagada para su uso en computadores de uso personal o institucional, lo que
obliga a incurrir en costos de instalación bastante elevados. Así y todo en el caso de SPSS, por ejemplo, la versión
básica no viene con todos los paquetes de análisis (el paquete AMOS, para ecuaciones estructurales por ejemplo, se
vende por separado) lo que entrampa aún más la utilidad de estos programas en la medida que los requerimientos de
análisis sofisticados aumentan.
Facilidad de uso. Tanto SPSS como Excel y Stata cumplen con el criterio de facilidad de uso. Son softwares amigables,
que ponen a disposición del usuario una amplia variedad de herramientas de uso intuitivo lo que ayuda mucho en la
introducción al análisis de datos empleando softwares computacionales. Por otra parte, Python y R presentan una
interfaz de mayor complejidad al basarse en un uso estrictamente a partir de instrucciones computacionales o sintaxis.
Sin embargo, tal dificultad sólo implica una curva de aprendizaje más lenta que se compensa con las ventajas ya
señaladas en relación a los criterios de costo y generalidad.
8
VENTAJAS DE R
Popularidad. Este criterio se vincula con la “extensión del uso” de una herramienta computacional en el campo científico o
profesional. Por mucho que se pueda argumentar a favor de la utilización de softwares como el que enseñaremos en este manual,
también se debe considerar que hay herramientas computacionales que gozan de mayor popularidad y uso (por ejemplo SPSS,
Stata o Microsoft Excel). En tal sentido, una formación integral debe propiciar un uso combinado de estas herramientas, que
permita una flexibilidad y adaptación a diferentes contextos profesionales o académicos, que por lo general no son flexibles en
relación a cambiar de manera rápida el software de “cabecera” utilizado para sus procesos de investigación social.
El valor del software libre (gratuito y de código abierto). Que un software sea libre quiere decir que sus usuarios son libres
de usarlo, copiarlo, distribuirlo, editarlo y modificarlo según sus propias inquietudes (FSF 2019). En tal medida, el valor del
software libre no sólo refiere a su distribución libre de pagos, sino también a su transparencia en cuanto al diseño de sus
diferentes funcionalidades. Esto permite que lo realizado por el software libre no sea una “caja negra” para las y los usuarios, lo
que es de alta relevancia para su uso en investigación científica, proceso en el cual se busca tener un control razonado de los
límites y potencialidades de cada decisión de análisis tomada.
9
VENTAJAS DE R
Desarrollo y actualización. En el caso de R y Pyhton se trata de plataformas que están en continuo desarrollo y
actualización, que cuentan con una comunidad científica activa e involucrada en la producción de nuevas
herramientas y soluciones para problemas y desafíos de programación. Ello implica que este tipo de herramientas
tienen un potencial de desarrollo ilimitado, que no se encuentra sujeto a un uso de “moda” o según criterios
netamente económicos, pues un software libre se usa siempre que la comunidad científica decida hacerlo. Si bien
pueden existir otras alternativas de softwares altamente especializados en técnicas específicas de análisis de datos
(sea de análisis cuantitativo o cualitativo) éstas tienden a quedar desactualizadas una vez pierden popularidad y su
negocio deja de ser rentable.
OBJETIVO DE LA NIVELACION:
Poder acercar de manera amigable esta herramienta a todos
los estudiantes desde el inicio de su formación en la MGAIE -
UNTREF 10
¿Qué es RStudio?: una interfaz para usar R
VENTAJAS: (1) el orden y (2) la visualización de los procesos que son llevados a cabo con R, todo de manera
simultánea.
11
Ventana (1): es el editor de sintaxis: se trata del lugar
donde editamos la sintaxis para posteriormente
ejecutarla. Al escribir allí no sucederá nada, a no ser
que se apriete algún botón para ejecutar los
2 comandos o la tecla ctrl+enter.
Ventana (2): es el “entorno de trabajo” del programa: en este
1 lugar se muestra el conjunto de datos y los “objetos”
(resultados, variables, gráficos, etc.) que se almacenan al
ejecutar diferentes análisis.
Ventana (3) tiene varias sub pestañas: (i) la pestaña files
permite ver el historial de archivos trabajados con el programa;
4 3 (ii) la pestaña plots permite visualizar los gráficos que se
generen; (iii) la pestaña packages permite ver los paquetes
descargados y guardados en el disco duro así como gestionar su
instalación o actualización; (iv) la ventana help.
Ventana (4): es la consola. Corresponde a lo que sería el software R en su versión
básica. Allí el software ejecuta las operaciones realizadas desde el editor de
sintaxis.
12
R como calculadora
45 + 23
[1] 68
100 / 4
[1] 25
sqrt( 25 )
[1] 5
hay definidas algunas constantes…
Ejemplo: pi
13
Vectores
x <- c( 1, 2, 3, 4, 5, 6, 7, 8 )
y <- c( "juan", "pepe", "iñaky", "amparito"
,"mariano", "juancar", "fulano", "elefante" )
z <- c( TRUE, TRUE, FALSE, TRUE, FALSE, FALSE, TRUE, TRUE )
Son matrices de una dimensión que solamente pueden contener valores homogéneos, ya sean numéricos,
alfanuméricos o valores lógicos. Emplearemos la función c() para construir vectores (función “combine”)
Podemos acceder a los elementos un vector usando los corchetes, que indican subíndice, así, x3, x6, …
y[ 3 ]
[1] "iñaky" Es importante ver que un subíndice puede ser una expresión y
y[ 6 ] por lo tanto un conjunto de valores:
[1] "juancar"
y[ 8 ] y[ c( 6, 8 ) ]
[1] "elefante" [1] "juancar" "elefante"
x[ 1 ]
[1] 1
14
Nota: En R los índices (numeraciones) comienzan en el 1, no en
el 0 como ocurre en muchos lenguajes de programación.
Extra: El operador “:” genera secuencias.
c( 2:6 )
[1] 2 3 4 5 6
c( 1:3 )
[1] 1 2 3
MATRICES
Una matriz es un vector con un atributo adicional (dim), que a su vez es un vector numérico de longitud 2 que define el
número de filas y columnas. Se crean con la función matrix().
15
Dataframes
Un dataframe (a veces se traduce como ‘marco de datos’) es una generalización de las matrices donde cada
columna puede contener tipos de datos distintos al resto de columnas, manteniendo la misma longitud. Es lo
que más se parece a una tabla de datos de SPSS o SAS, o de cualquier paquete estadístico estándar. Se crean
con la función data.frame().
nombre <- c( "juan", "pp", "iñaky", "amparo",
"mariano", "juancar", "fulano", "elefante" )
edad <- c( 23, 24, 45, 67, 32, 56, 78, 45 )
peso <- c( 34, 34, 56, 78, 34, 56, 76, 87 )
length( nombre )
[1] 8
length( edad )
[1] 8
length( peso )
[1] 8
caseid <- c( 1:length( peso ) )
df <- data.frame( caseid, nombre, edad, peso )
df
16
caseid nombre edad peso
1 1 juan 23 34
2 2 pp 24 34
3 3 iñaky 45 56
4 4 amparo 67 78
5 5 mariano 32 34
6 6 juancar 56 56
7 7 fulano 78 76
8 8 elefante 45 87
17
Seleccionar columnas concretas de un dataframe con corchetes
[ ]. df[ c( 1, 3 ) ]
caseid edad
df[ 1:2 ] 1 1 23
caseid nombre 2 2 24
1 1 juan 3 3 45
2 2 pp 4 4 67
3 3 iñaky 5 5 32
4 4 amparo 6 6 56
5 5 mariano 7 7 78
6 6 juancar 8 8 45
7 7 fulano
8 8 elefante
Ampliar un dataframe:
diabetes <- c( "Tipo1", "Tipo1", "Tipo2", "Tipo2",
"Tipo1", "Tipo1", "Tipo2", "Tipo1" )
estado <- c( "bueno", "malo", "bueno", "bueno",
"bueno", "malo", "bueno", "malo" )
length( diabetes )
[1] 8
length( estado )
[1] 8
df <- data.frame( df, diabetes, estado )
18
df
caseid nombre edad peso diabetes estado
1 1 juan 23 34 Tipo1 bueno
2 2 pp 24 34 Tipo1 malo
3 3 iñaky 45 56 Tipo2 bueno
4 4 amparo 67 78 Tipo2 bueno
5 5 mariano 32 34 Tipo1 bueno
6 6 juancar 56 56 Tipo1 malo
7 7 fulano 78 76 Tipo2 bueno
8 8 elefante 45 87 Tipo1 malo
Para saber el número de filas de un dataframe podemos usar la función nrow(), ncol() nos devuelve el número de columnas.
nrow( df ) Extra: Crear un tabla de frecuencias. Explorar la función cbind()
[1] 8 para ampliar dataframes.
ncol( df )
[1] 6 table( df$diabetes, df$estado )
bueno malo
Tipo1 2 3
Tipo2 3 0
19
# getwd()
manager <- c( 1:5 )
date <- c( "10/11/08", "10/12/08", "10/13/08", "10/14/08", "10/15/08" )
country <- c( "US", "US", "UK", "UK", "UK" )
gender <- c( "M", "F", "F", NA, "F" )
age <- c ( NA, 45, 25, 39, 99 )
q1 <- c( 5, 3, 3, 3, 2 )
q2 <- c( 5, 5, 5, NA, 2 )
q3 <- c( 5, 5, 2, NA, 1 )
df <- data.frame( manager, date, country, gender, age, q1, q2, q3,
stringsAsFactors = FALSE )
df
manager date country gender age q1 q2 q3
1 1 10/11/08 US M NA 5 5 5
2 2 10/12/08 US F 45 3 5 5
3 3 10/13/08 UK F 25 3 5 2
4 4 10/14/08 UK <NA> 39 3 NA NA
5 5 10/15/08 UK F 99 2 2 1
20
Operadores Aritméticos Operadores Lógicos
Operador Descripción
+ Suma
- Resta Operador Descripción
* Multiplicación < Menor que
/ División <= Menor o igual que
^ ó ** Potencias > Mayor que
%% Módulo (x mod y) 5%%2 es 1 >= Mayor o igual que
%/% División entera 5%/%2 es 2 == Exactamente igual a
!= No igual a/que
!x Diferente de x
x|y xoy
x&y xey
isTRUE(x) Evalua si x es una expesión verdadera
21
# Creamos la variable agecat (categoría de edad),
# le asignamos el código 'anciano' si age>75,
# si está entre 44 y 77 le asignamos 'maduro' y
# si estẠpor debajo de 44 'joven'.
df$agecat[ df$age > 75 ] <- "anciano"
df$agecat[ df$age <= 75 & df$age > 44 ] <- "maduro"
df$agecat[ df$age <= 44 ] <- "joven"
df
22
manager date country gender age q1 q2 q3 sumx meanx
nueva
1 1 10/11/08 US M NA 5 5 5 10 5 10
2 2 10/12/08 US F 45 3 5 5 8 4 6
3 3 10/13/08 UK F 25 3 5 2 8 4 6
4 4 10/14/08 UK <NA> 39 3 NA NA NA NA 6
5 5 10/15/08 UK F 99 2 2 1 4 2 4
agecat
1 <NA>
2 maduro
3 joven
4 joven
5 anciano
23