Houve várias boas perguntas e conjuntos de respostas em livros introdutórios ou abordagens para aprender R, por exemplo, aqui e aqui . Mas eu tenho um problema um pouco diferente - a melhor maneira de executar uma sessão de uma hora (ou várias dessas sessões) em um laboratório de informática que fará com que as pessoas iniciem no R, familiarizadas com sua abordagem básica etc.
Meu plano atual seria trabalhar efetivamente o (s) capítulo (s) introdutório (s) de algo como SimpleR de Verzani e depois introduzir um conjunto de dados familiar, mas há alguma outra abordagem que as pessoas considerem útil? Por exemplo, é bom introduzir dados reais imediatamente ou resolver problemas de maneira mais abstrata? Devo explicar exaustivamente como usar os colchetes ou excitar as pessoas com exemplos de gráficos de treliça?
Meu público-alvo está familiarizado com estatísticas (embora não seja especialista) e usuários competentes do SPSS; não está familiarizado com linguagens de programação além do tipo de macro e script que você obteria no SPSS e coisas semelhantes.
Todas as dicas ou referências aos planos de aulas serão apreciadas. No entanto, não quero duplicar as muitas boas listas de material on-line que introduzem R - estritamente referências à pergunta instrucional cara a cara.
Respostas:
Eu argumentaria por uma abordagem completamente diferente. Eu já vi tutoriais de R que foram ensinados sob duas perspectivas diferentes: uma abordagem de blocos de construção, na qual os usuários são apresentados aos conceitos fundamentais de R, e uma abordagem de choque e pavor, na qual os usuários mostram os incríveis recursos de R, mas ficam com relativamente pouco entendimento de como fazer qualquer coisa. Definitivamente, o último ressoa mais fortemente com os alunos, mas nenhum deles parece ser muito eficaz na produção de usuários.
Em vez disso, eu pegaria uma tarefa comum e relativamente simples no SPSS e a converteria em R, com um pouco de ingenuidade fingida de sua parte - por exemplo, seguindo a excelente sugestão de Xi'an de procurar algumas funções desejadas, em
??
vez de apenas recuperando a função correta da memória. Seus novatos quase certamente estarão convertendo processos existentes à medida que aprendem R, não os escrevendo do zero - então, por que não mostrar exatamente a eles como você faria isso?Um bom exemplo pode consistir em carregar dados, executar alguns descritivos e exibir alguns gráficos básicos.
lm()
pode ser muito, muito simples e produz resultados que eles entenderão e podem comparar com a saída do SPSS, o que também pode ser bom para cobrir.Para trabalhos de casa, peça a eles que tentem converter um de seus processos simples ou carregar e explorar um conjunto de dados com o qual estejam familiarizados. Dê a eles um tempo individual para descobrir onde as coisas estão dando errado e cubra-os na próxima sessão com mais conversões de exemplo. Os conceitos da sua lista surgirão inevitavelmente (minha aposta: fatores versus vetores de caracteres, versus vs.) - e você terá uma motivação do mundo real para cobri-los. Se eles não aparecerem (
attach
), ainda não serão realmente necessários - se isso significa que seus novatos escrevem um pouco de código não idiomático no início (emfor
vez deapply
), não vejo mal.Dessa forma, seus alunos podem progredir da mesma maneira que os alunos de línguas estrangeiras (ou pelo menos da mesma maneira que eu): a tradução grosseira de expressões simples estimula o desejo de expressões mais complexas, o que causa o desejo de uma compreensão mais profunda da gramática , o que eventualmente leva à expressão idiomática. Não pule para a "gramática" muito cedo e não se preocupe muito em ensinar a eles coisas sobre as quais não estão perguntando, porque provavelmente esquecerão de qualquer maneira. Os indicadores suaves sobre a expressão idiomática são ótimos (
for
vsapply
), mas o principal é fazê-los gerar saída e explorar por conta própria.fonte
OK, aqui está minha própria resposta, até agora, sobre o que acho que levaria as pessoas a motivá-las a aprender um pouco mais (estou tentando afastá-las do SPSS, que literalmente não pode fazer parte do que precisamos, por exemplo, análises complexas de pesquisas, pelo menos sem comprar mais módulos que eu me recuso a fazer).
No final da primeira sessão, você deve ser capaz de:
Fundamentos
Manipulação de dados
Estatisticas
Gráficos
No final de três sessões e fazendo uma série de exercícios entre eles, você também deve ser capaz de:
Fundamentos
Manipulação de dados
Estatisticas
Gráficos
fonte
À lista de Pedro, acrescentaria:
Mais pensamentos: eles provavelmente usam
COMPUTE
muitoSPSS
, então cobrir como fazer issoR
seria bom. Além disso, comoRECODE
variáveis em R. Quando eu estava usandoSPSS
, acho que a maior parte do meu trabalho de "não análise" estava usando esses dois comandos.fonte
ifelse
certifique-se de mostrar a eles como funciona e o que significa o aviso em sua documentação. Funciona logicamente quando você pensa sobre isso, mas eu tenho visto total confusão sobreifelse
"alterar" os tipos de variáveis e causar muito tempo perdido.a <- 1:5 ; b <- 4 ; a[b = 3] ; b ; a[b <- 3] ; b
onde a assinatura dá os mesmos resultados, masb
é diferente (primeira vez que não mudou, segunda vez). A=
tarefa nunca foi concebida para ser designada e nunca deveria ter sido alterada para tentar tornar R mais agradável. Não faça isso.pmax
funciona muito bem.