Ha habido varias buenas preguntas y conjuntos de respuestas sobre libros introductorios o enfoques para aprender R, por ejemplo, aquí y aquí . Pero tengo un problema ligeramente diferente: la mejor manera de ejecutar una sesión de una hora (o varias sesiones de este tipo) en un laboratorio de computación que hará que las personas comiencen en R, se familiaricen con su enfoque básico, etc.
Mi plan actual sería trabajar de manera efectiva a través de los capítulos introductorios de algo como el SimpleR de Verzani y luego presentar un conjunto de datos familiar, pero ¿hay algún otro enfoque que la gente haya encontrado útil? Por ejemplo, ¿es bueno introducir datos reales de inmediato o abordar los problemas de manera más abstracta? ¿Debería analizar exhaustivamente cómo usar los corchetes, o entusiasmar a las personas con ejemplos de gráficos de celosía?
Mi público objetivo está familiarizado con las estadísticas (aunque no son expertos) y usuarios competentes de SPSS; no está familiarizado con los lenguajes de programación más allá del tipo de macro y secuencias de comandos que obtendría en SPSS y cosas similares.
Cualquier consejo o referencia a los planes de lecciones serán apreciados. Sin embargo, no quiero duplicar las muchas buenas listas de material en línea que presentan R, estrictamente referencias a la pregunta de instrucción cara a cara.
Respuestas:
Yo abogaría por un enfoque completamente diferente. He visto tutoriales de R que se enseñaron desde dos perspectivas diferentes: un enfoque de bloques de construcción, en el que los usuarios son introducidos a los conceptos fundamentales de R, y un enfoque de sorpresa y asombro, en el que a los usuarios se les muestran las increíbles capacidades de R pero se quedan con relativamente poca comprensión de cómo hacer algo. Este último definitivamente resuena más fuertemente con los alumnos, pero ninguno parece muy efectivo en la producción de usuarios.
En cambio, tomaría una tarea común y relativamente simple en SPSS y la convertiría a R, con un poco de ingenuidad fingida de su parte, por ejemplo, siguiendo la excelente sugerencia de Xi'an de buscar algunas funciones deseadas en
??
lugar de solo recordando la función correcta de la memoria. Sus novatos seguramente convertirán los procesos existentes a medida que aprenden R, no los escribirán desde cero, entonces, ¿por qué no mostrarles exactamente cómo lo haría?Un buen ejemplo podría consistir simplemente en cargar datos, realizar algunos descriptivos y extraer algunos gráficos básicos.
lm()
puede ser muy, muy simple y produce resultados que comprenderán y pueden comparar con la salida de SPSS, por lo que también podría ser bueno para cubrir.Para la tarea, haga que intenten convertir uno de sus procesos simples o cargar y explorar un conjunto de datos con el que están muy familiarizados. Déles un tiempo individual para descubrir dónde van las cosas mal, luego cubra los de la próxima sesión con más conversiones de ejemplo. Los conceptos de tu lista inevitablemente aparecerán (mi apuesta: factores vs. vectores de caracteres, para vs. aplicar), y luego tendrás una motivación del mundo real para cubrirlos. Si no aparecen (
attach
), entonces realmente no son necesarios todavía; si eso significa que sus novatos escriben un pequeño código no idiomático desde el principio (enfor
lugar deapply
), no veo el daño.De esta manera, sus estudiantes pueden progresar de la misma manera que lo hacen los estudiantes de idiomas extranjeros (o al menos, como lo hice yo): la traducción cruda de expresiones simples provoca el deseo de expresiones más complejas, lo que provoca el deseo de una comprensión más profunda de la gramática , lo que finalmente conduce a una expresión idiomática. No saltes a la "gramática" demasiado pronto, y no te preocupes demasiado por enseñarles cosas sobre las que no están preguntando porque probablemente lo olvidarán de todos modos. Los indicadores suaves sobre la expresión idiomática son geniales (
for
vsapply
), pero lo principal es lograr que generen resultados y exploren por su cuenta.fuente
Bien, aquí está mi propia respuesta hasta ahora sobre lo que creo que haría que la gente comenzara y los motivara a aprender un poco más (estoy tratando de alejarlos de SPSS, que literalmente no puede hacer algo de lo que necesitamos, por ejemplo, análisis de encuestas complejas, al menos sin comprar más módulos que me niego a hacer).
Al final de la primera sesión , debería poder:
Lo esencial
Manipulación de datos
Estadísticas
Gráficos
Al final de tres sesiones y haciendo una serie de ejercicios intermedios, también debería ser capaz de:
Lo esencial
Manipulación de datos
Estadísticas
Gráficos
fuente
A la lista de Peter agregaría:
Más pensamientos: probablemente usan
COMPUTE
muchoSPSS
, así que cubrir cómo hacerloR
sería bueno. Además, cómoRECODE
utilizar las variables en R. Cuando estaba usandoSPSS
, creo que la mayoría de mi trabajo "sin análisis" estaba usando esos dos comandos.fuente
ifelse
ASEGÚRESE de mostrarles cómo funciona y qué significa la advertencia en su documentación. Funciona lógicamente una vez que lo piensa, pero he visto una confusión total sobreifelse
"cambiar" los tipos de variables y causar mucho tiempo perdido.a <- 1:5 ; b <- 4 ; a[b = 3] ; b ; a[b <- 3] ; b
donde la suscripción da los mismos resultados, perob
es diferente (la primera vez no cambia, la segunda cambia). El=
nunca tuvo la intención de ser una tarea y nunca debería haber sido cambiado para tratar de hacer que R sea más apetecible. No lo hagaspmax
funciona muy bien.