Je plaiderais pour une approche complètement différente. J'ai vu des didacticiels R enseignés sous deux angles différents: une approche par blocs de construction, dans laquelle les utilisateurs sont introduits aux concepts fondamentaux de R, et une approche choc et impression, dans laquelle les utilisateurs voient les capacités incroyables de R mais qui restent relativement peu de compréhension de la façon de faire quoi que ce soit. Ce dernier résonne certainement plus fortement auprès des élèves, mais aucun ne semble très efficace pour produire des utilisateurs.
Au lieu de cela, je prendrais une tâche courante et relativement simple dans SPSS et passerais à travers la conversion en R, avec un peu de naïveté feinte de votre part - par exemple, en suivant l'excellente suggestion de Xi'an de rechercher certaines fonctions souhaitées avec ??
plutôt que juste rappelant la bonne fonction de la mémoire. Vos débutants convertiront presque certainement des processus existants au fur et à mesure qu'ils apprendront le R, pas de les écrire à partir de zéro - alors pourquoi ne pas leur montrer exactement comment vous y prendriez?
Un bon exemple pourrait consister simplement à charger des données, à effectuer des descriptions et à afficher des tracés de base. lm()
peut être très, très simple et produit des résultats qu'ils comprendront et peuvent comparer à la sortie SPSS, ce qui peut également être intéressant à couvrir.
Pour les devoirs, faites-leur essayer de convertir l'un de leurs processus simples ou de charger et d'explorer un ensemble de données qu'ils connaissent très bien. Donnez-leur du temps en tête-à-tête pour comprendre où les choses vont mal, puis couvrez-les dans la prochaine session avec plus d'exemples de conversions. Les concepts de votre liste apparaîtront inévitablement (mon pari: facteurs vs vecteurs de caractères, pour vs appliquer) - et alors vous aurez une motivation réelle pour les couvrir. S'ils ne viennent pas ( attach
), alors ils ne sont pas encore vraiment nécessaires - si cela signifie que vos débutants écrivent un peu de code non idiomatique dès le début ( for
au lieu de apply
), je ne vois pas le mal.
De cette façon, vos élèves peuvent progresser à peu près de la même manière que les étudiants en langues étrangères (ou du moins, comme je l'ai fait): la traduction grossière d'expressions simples suscite le désir d'expressions plus complexes, ce qui provoque le désir d'une compréhension plus approfondie de la grammaire , ce qui conduit finalement à une expression idiomatique. Ne passez pas trop vite à la «grammaire» et ne vous inquiétez pas trop de leur enseigner des choses qu'ils ne demandent pas, car ils l'oublieront probablement de toute façon. Les pointeurs délicats sur l'expression idiomatique sont excellents ( for
vs apply
), mais l'essentiel est de les amener à générer une sortie et à explorer par eux-mêmes.