PDF de programación - Bye, bye SPSS (y SAS): hola R para encuestas

Imágen de pdf Bye, bye SPSS (y SAS): hola R para encuestas

Bye, bye SPSS (y SAS): hola R para encuestasgráfica de visualizaciones

Publicado el 27 de Octubre del 2019
1.227 visualizaciones desde el 27 de Octubre del 2019
2,5 MB
65 paginas
Creado hace 8a (04/11/2015)
Bye, bye SPSS (y SAS):
hola R para encuestas

VII Jornadas de usuarios de R
Salamanca, 5-6 noviembre 2015

José Ignacio Casas

- 1 -

VII Jornadas de
Usuarios de R

Herramientas para el taller

 R: ¿R version 3.2.2 (2015-08-14)?
 RStudio: ¿Version 0.99.486?
 Paquetes (y sus adjuntos):

– Imprescindibles: {memisc} {sjmisc} {sjPlot}
– Muy convenientes: {foreign} {Hmisc} {haven}

{MicroDatosEs} {sas7bdat} {likert}

– Convenientes: {Rz} {splitstackshape}
– Prescindibles: {Rsocialdata} {surveydata}

 Conexión a Internet, navegador, editor de ficheros planos

(¿Notepad++?) y lector .pdf
 Conocimientos básicos de R
 Materiales de trabajo en:
www.jomialresearch.com/Rparaencuestas.zip

- 2 -

VII Jornadas de
Usuarios de R

Agenda

 Por qué este taller: compartir mi trayectoria y mi exploración
 SPSS (y SAS) vs. R para encuestas
 Volcando SPSS (y SAS) a R
 R sin SPSS (ni SAS) manejo de datos con {memisc} y
{sjmisc}
 Tablas y gráficos básicos con {sjPlot}
 Otros:

casestovars


– escalas tipo Likert
– preguntas multi-respuesta

 Algunos análisis con {sjmisc} y {sjPlot}

- 3 -

VII Jornadas de
Usuarios de R

: una selva llena de tesoros...
: una selva llena de tesoros...

- 4 -

VII Jornadas de
Usuarios de R

… … donde no hay mapas
donde no hay mapas
definitivos ni únicos
definitivos ni únicos

- 5 -

VII Jornadas de
Usuarios de R

Propuesta de taller: no un
Propuesta de taller: no un
tratado sino un libro de viajes
tratado sino un libro de viajes

- 6 -

VII Jornadas de
Usuarios de R

R para encuestas: no hay una
R para encuestas: no hay una

autopista en la selva...
autopista en la selva...

- 7 -

VII Jornadas de
Usuarios de R

… … sino una(s) vereda(s) que
sino una(s) vereda(s) que

invito a recorrer
invito a recorrer

- 8 -

VII Jornadas de
Usuarios de R

Objetivo: encontrar nuestro
Objetivo: encontrar nuestro
camino más conveniente
camino más conveniente

- 9 -

VII Jornadas de
Usuarios de R

Agenda

 Por qué este taller: compartir mi trayectoria y mi exploración
 SPSS (y SAS) vs. R para encuestas
 Volcando SPSS (y SAS) a R
 R sin SPSS (ni SAS) manejo de datos con {memisc} y
{sjmisc}
 Tablas y gráficos básicos con {sjPlot}
 Otros:

casestovars


– escalas tipo Likert
– preguntas multi-respuesta

 Algunos análisis con {sjmisc} y {sjPlot}

- 10 -

VII Jornadas de
Usuarios de R

SPSS (y SAS) vs. R para encuestas

 El análisis de encuestas:



componente descriptivo central: tablas y gráficos de
frecuencias y de doble entrada
importancia de los “labels”


– gestión de los valores “missing”

 R para encuestas: un terreno abierto y en ebullición

– R ofrece una gama extensa de operaciones: desde la

captura de datos hasta la presentación de informes
– muchos paquetes (en evolución) para el volcado de

ficheros desde SPSS y otros
todavía no hay una única solución consolidada



- 11 -

VII Jornadas de
Usuarios de R

Planteamiento general

Datos Datos Datos Datos Datos Datos Datos Datos Datos

+

+

+

Código SPSS

file.sps

Código SAS

file.sas

{memisc}
+ código

{sjmisc}/{sjPlot}

+ código

+

Codebook

file.sav

Codebook
file.sas7bdat

Paquetes de volcado a R,

con resultados varios

- 12 -

“item”

“data.set”

Codebook

muy

completo

“data.frame”
numeric+attr

“labelled”

Output
muy

presentable

VII Jornadas de
Usuarios de R

Agenda

 Por qué este taller: compartir mi trayectoria y mi exploración
 SPSS (y SAS) vs. R para encuestas
 Volcando SPSS (y SAS) a R
 R sin SPSS (ni SAS) manejo de datos con {memisc} y
{sjmisc}
 Tablas y gráficos básicos con {sjPlot}
 Otros:

casestovars


– escalas tipo Likert
– preguntas multi-respuesta

 Algunos análisis con {sjmisc} y {sjPlot}

- 13 -

VII Jornadas de
Usuarios de R

Volcando SPSS a R: paquetes

 foreign
 Hmisc
 haven
 memisc
 sjmisc / sjPlot
 Otros paquetes:

– Rz
– Rsocialdata

surveydata

- 14 -

VII Jornadas de
Usuarios de R

SPSS → R (1): read.spss {foreign}

> library(foreign)
> spssf1 <- read.spss ("Bar1502corto.sav")
Por defecto:
 Devuelve una “list” con un componente por variable
 Convierte todas las variables “character” a “factor”
 Attributes:
 label.table: guarda los “value labels” en cada variable (= levels
de cada “factor”)
 variable.labels: guarda juntos todos los “variable labels” de las
variables
 missings: valores de cada variable definidos como missing en
SPSS (no los sysmis)
 names: los nombre de las variables pasados a MAYÚSCULAS

- 15 -

VII Jornadas de
Usuarios de R

SPSS → R (2): read.spss {foreign}

> spssf1.df <- as.data.frame (spssf1)
# Pierde los attributes “variable.labels”
# Los “missings” se convierten en un factor más
Conversión directa a data.frame:
> spssf2 <- read.spss ("Bar1502corto.sav",
to.data.frame = TRUE)
 Attributes:

 Los “value labels” se convierten en levels de cada “factor”
 variable.labels: guarda los “variable labels” de cada variable
 missings: son convertidos a NAs

- 16 -

VII Jornadas de
Usuarios de R

SPSS → R (3): spss.get {Hmisc}

> library (Hmisc)
> spsshm <- spss.get ("Bar1502corto.sav")
 Invoca read.spss {foreign} con to.data.frame = TRUE
 Las variables son clase “labelled” y factor o numeric
 Los NAs se convierten en missings
 Los variable labels y value labels se guardan como
atributos en cada variable (“label” & “levels”). Ver:
> attributes(spsshm$CCAA)

- 17 -

VII Jornadas de
Usuarios de R

SPSS → R (4): spss.get {haven}

> library (haven)
> spsshv <- read_spss ("Bar1502corto.sav")
 Crea un fichero de clase data.frame (también "tbl_df" y

"tbl"), con variables clase “labelled”

 Todos los “missings” se convierten en NAs
 Los variable labels y value labels se guardan como
atributos en cada variable (“label” & “labels”):
> attributes(spsshv$CCAA)

- 18 -

VII Jornadas de
Usuarios de R

SPSS → R (5): variables “labelled”
 SPSS y SAS tienen variables “labelled”, parecidas a un “factor”,

pero

– Cualquier valor puede tener un “label”
– Puede haber valores sin “label”

 En R un “factor” tiene siempre valores “integer” y todo “integer”



debe tener un “label” (“level”)
{Hmisc} y {haven} proporcionan la clase “labelled” para modelar
estos objetos. El paquete {haven} incluye
– as_factor(): convierte las variables labelled integers en factors. Los
valores sin un label asociado se convierten en missing. Hay que usar
esta función, ya que as.factor() no funciona con variables labelled
zap_labels(): convierte todos los valores labelled en missing. Esto es
útil cuando se tiene una variable continua con algunos valores
etiquetados como missing (ej. 99)



- 19 -

VII Jornadas de
Usuarios de R

SPSS → R (6): spss.system.file

{memisc}

> library (memisc)
> spssm1 <- spss.system.file
("Bar1502corto.sav")
 Crea un fichero de clase “spss.system.importer”, que refiere a
un fichero de datos externo (ver otros “importers”)
 print (spssm1) # Comprobamos que tenemos un fichero
SPSS.sav, con su número de variables y de casos
 names (spssm1) # nombres de las variables, en
minúsculas
 description (spssm1) # “variable labels” de las variables

- 20 -

VII Jornadas de
Usuarios de R

SPSS → R (6): spss.system.file

{memisc}

 labels(spssm1["nombreVariable"]) # value labels de esa
variable
 codebook (spssm1) # descriptivos de todas las variables: tabla
de frecuencias con value labels, abs y porcentajes totales y totales
sin missing
 codebook(spssm1["ccaa"]) # idem para una sola variable
 Los “missing” se almacenan en al atributo “value.filter” y distingue

entre “sysmis” y “usermis”

 ¡OJO!: cuando una variable tiene valores con y sin “labels”

ignora los valores sin “labels” en el codebook

- 21 -

VII Jornadas de
Usuarios de R

SPSS → R (7): data.set {memisc}
 spssm2 <- as.data.set(spssm1) # obtenemos un

"data.set"

 Las variables se convierten en un objeto item:
 storage mode: “integer”, “double” ...
 measurement: Tipo de medida del objeto "item": "nominal",
"ordinal", "interval", "ratio". Determina su formato al volcarlo
a un data.frame. Por ejemplo: "nominal" - > unordered

 annotation: description / wording



labels: attributes asociados a cada value

- 22 -

VII Jornadas de
Usuarios de R

SPSS → R (8): {sjmisc}/{sjPlot}

> library (sjmisc) # gestiona los datos
> library (sjPlot) # proporciona tablas y gráficos
> spsssj <- read_spss ("Bar1502corto.sav")
# Por defecto utiliza la función del mismo nombre del paquete 'haven', pero
las variables YA NO SON DE CLASS LABELLED
> view_df (spsssj) # presenta estructura y "labels" del fichero en
formato HTML
> view_df (spsssj, showFreq = TRUE, showPerc = TRUE) # Lo
mismo, pero ahora con frecuencias y porcentajes (como un "codebook")
> sjt.frq (spsssj$CCAA) # Para una sola variable
# Se pueden cambiar los rótulos con las opciones 'string… = "…"'
> frq (as_labelled (spsssj$CCAA))

- 23 -

VII Jornadas de
Usuarios de R

SPSS → R (9): {sjmisc}/{sjPlot}

> get_label (spsssj) # devuelve los "variable labels"
> get_labels (spsssj) # devuelve los "value labels"
> get_na (spsssj$P31A) # devuelve los códigos asociados a los
“missing values” de la variable
> spsssj$CCAA <- set_label (spsssj$CCAA, "nuevo
rótulo") # Asigna un “variable label” a la variable. Lo mismo para un
data.frame, con un vector de la misma longitud
> spsssj$CCAA <- set_labels (spsssj$CCAA, c("Nuevo1",
"Nuevo2", "Nuevo3", "Nuevo4", ...)) # Asigna “value labels” a
la variable
> spsssj$P31A <- set_na(spsssj$P31A, c(98, 99), as.attr
= TRUE) # Asigna “missing values” a la variable
# La opción (as.attr = TRUE) convierte a missing pero no a NA. Por
defecto (as.attr = FALSE) pasan a ser NAs

- 24 -

VII Jornadas de
Usuarios de R

SPSS → R (10): otros paquetes

 Rz

– Crea un GUI tipo menú para manejar datos (tablas y gráficos)

al estilo SPSS

– Usa el paquete “memisc”

 Rsocialdata

– spssrsd <- get.spss.file ("Bar1502corto.sav")
– En desarrollo

 surveydata

– En desarrollo
– No gestiona los missing values

- 25 -

VII Jornadas de
Usuar
  • Links de descarga
http://lwp-l.com/pdf16786

Comentarios de: Bye, bye SPSS (y SAS): hola R para encuestas (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad