Eu gostaria de saber como aprender a linguagem R como uma linguagem de 'programação' em oposição a aprendê-la como um sistema estatístico. Minha pergunta é motivada pela falta de compreensão de funções como análise, avaliação, etc., que podem não encontrar uso frequente por um usuário R com uma persuasão de 'estatísticas'.
Edit: Estive explorando ferramentas como Rpy RSPerl rJava e desejo (no mínimo) ser capaz de entender conceitos que facilitam a comunicação do R com outras linguagens de programação.
A disponibilidade de aplicativos da Web para R (R-PHP, RApache, etc.) é outro fator de motivação para eu obter uma compreensão mais profunda e estrutural de R.
Por último, mas não menos importante, gostaria de poder escrever pacotes R para os quais tal entendimento seria benéfico, se não necessário.
Respostas:
Para começar, você pode querer ler este artigo de John Cook . Certifique-se também de ler "The R Inferno" .
Existem muitos recursos bons na página inicial do R , mas em particular, leia "Uma introdução ao R" e "A definição da linguagem R" .
Algumas questões stackoverflow intimamente relacionadas:
Meu livro favorito sobre o assunto: "Software for Data Analysis: Programming with R", de John Chambers , o criador da linguagem S.
fonte
Um bom livro para aprender R como uma linguagem de programação (em oposição a R para estatísticas) é The Art of R Programming , de Norman Matloff.
É muito legível, não presume que você seja um cientista da computação e é bastante barato quando comparado aos livros R.
fonte
Eu prefiro sugerir um começo bom e abrangente, como The R Book de Michael Crawley. É um livro completo e fácil de ler sobre as funções principais do R, com dicas estatísticas e alguns exercícios. Ele se concentra muito nas forças de R (por exemplo, modelos lineares) e também fornece truques de codificação úteis. Isso me ajudou muito enquanto eu estava lutando em cursos online enigmáticos.
fonte
Sou um aprendiz muito prático, então este conselho pode ser específico para o meu estilo de aprendizagem. Eu sugeriria que o melhor lugar para começar a "aprender a programar" em qualquer linguagem envolve encontrar problemas fora de sua faixa normal de experiência e então tentar resolvê-los usando uma linguagem de programação.
Os projetos que mais me ensinaram sobre como programar
R
não têm nada a ver com estatística.Conhecer funções como
parse()
e nãoeval()
é de forma alguma uma medida para ser "um bom programador de R". Os aplicativos que exigem o uso intenso dessas funções não constituem a maior parte do espaço do problema no qual você pode se inscreverR
. Em vez disso, acho que você deveria tentar ser "um bom programador" quem sabeR
. Isso envolve refinar suas abordagens de resolução de problemas.Programar não é um esporte para espectadores - um bom livro é indispensável como uma referência nas ferramentas disponíveis, mas você precisa encontrar alguns problemas para aprimorar suas habilidades.
fonte