Lo que hice en el final era imprimir los encabezados utilizando LibreOffice etiquetados como V1, V2, etc, entonces acabo de leer en el archivo como
m1 <- read.csv('Sheet1.csv', header=FALSE, skip=1)
y luego acaba de hacer el análisis en contra m1 $ V10 , m1 $ V23 etc ...
para moverse por el lío de varias columnas que utilizó la siguiente función poco
# function to merge columns into one with a space separator and then
# remove multiple spaces
mcols <- function(df, cols) {
# e.g. mcols(df, c(14:18))
exp <- paste('df[,', cols, ']', sep='', collapse=',')
# this creates something like...
# "df[,14],df[,15],df[,16],df[,17],df[,18]"
# now we just want to do a paste of this expression...
nexp <- paste(" paste(", exp, ", sep=' ')")
# so now nexp looks something like...
# " paste(df[,14],df[,15],df[,16],df[,17],df[,18] , sep='')"
# now we just need to parse this text... and eval() it...
newcol <- eval(parse(text=nexp))
newcol <- gsub(' *', ' ', newcol) # replace duplicate spaces by a single one
newcol <- gsub('^ *', '', newcol) # remove leading spaces
gsub(' *$', '', newcol) # remove trailing spaces
}
# mcols(df, c(14:18))
No hay duda de que alguien será capaz de limpiar esto!
para poner en orden las escalas tipo Likert que utilicé:
# function to tidy c('Strongly Agree', 'Agree', 'Disagree', 'Strongly Disagree')
tidylik4 <- function(x) {
xlevels <- c('Strongly Disagree', 'Disagree', 'Agree', 'Strongly Agree')
y <- ifelse(x == '', NA, x)
ordered(y, levels=xlevels)
}
for (i in 44:52) {
m2[,i] <- tidylik4(m2[,i])
}
Siéntase libre de comentar como sin duda esto vendrá de nuevo!
¿Se puede publicar un * pequeño * ejemplo de salida de Surveymonkey que demuestre el problema? Puedo imaginar una solución que usa 'readLines' con' n = 2' para leer (y masajear) los encabezados, y usa 'read.csv' con 'skip = 2, header = FALSE' para obtener solo los datos ... –
La próxima vez que ejecute una encuesta, use LimeSurvey (http://www.limesurvey.org/) - es de código abierto y tiene una instalación de Exportar a R que funciona razonablemente bien (divulgación: escribí el módulo de exportación) – Andrie
@Ben, los encabezados en el archivo son dos líneas nombre/número de la pregunta y luego las preguntas escritas en la línea debajo. En general, un dolor total en el culo para tratar. –