Como aprender R como uma linguagem de programação [fechado]


105

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.


1
Você obterá melhores respostas se puder dizer por que está pensando em usar R como uma linguagem de programação, em vez de um sistema estatístico. Você está colando outro software, já desenvolvido em R? Você tem outros programadores que não sabem nada além de R, então você é forçado a desenvolver nele?
Chip Uni

7
Definitivamente, é necessário um livro com um título como "Engenharia de software estatístico com R", que explicaria R do ponto de vista das linguagens de programação, discuta os princípios da programação funcional e da programação orientada a objetos em R e realmente se concentre nas melhores práticas para o desenvolvimento de sistemas relativamente grandes.
Harlan

Acho que essa é uma das maneiras mais divertidas de aprender esse idioma: tryr.codeschool.com/levels/1/challenges/16
Umit Kaya

Meu voto para reabrir é baseado no fato de que esta é uma questão altamente votada e em um dos primeiros acessos no Google quando você pesquisa "stackoverflow r". Tem 10 anos e apenas algumas das recomendações ainda são válidas. Além disso, a falta de oportunidades para oferecer materiais mais modernos foi encerrada.
IRTFM

@ 42- você não consideraria uma questão de "procurar um tutorial"?
camille

Respostas:


87

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.


Eu ia responder com o mesmo link. @harshsinghal Supondo que você não seja um iniciante em programação, esse link é muito útil.
Secko de

Também vou atestar o R ​​inferno. Ele contém muito do que tirei do livro Chambers sem a verbosidade e as convicções religiosas.
eytan de

O documento do R inferno é brilhante
Federico Giorgi

23

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.

insira a descrição da imagem aqui

É muito legível, não presume que você seja um cientista da computação e é bastante barato quando comparado aos livros R.


18

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.

texto alternativo


2
Eu concordo - este é um excelente livro introdutório; Crawley escreve muito claramente.
Richie Cotton

É muito detalhado. O artigo de John Cook acima é muito mais conciso. Como programador, você não precisa de uma grande parte do "livro R".
Máx.

14

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 Rnão têm nada a ver com estatística.

Conhecer funções como parse()e não eval()é 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 inscrever R. Em vez disso, acho que você deveria tentar ser "um bom programador" quem sabe R. 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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.