Pergunta

Eu sou novo para R e ter um tempo informações reunindo difícil de várias fontes on-line relacionados com o que é considerado uma "boa" prática com a escrita de código R. Eu li guias básicos, mas eu tenho tido muita dificuldade em encontrar informação que é definitivamente até à data.

  1. Quais são alguns exemplos de bem escritos classes / documentados S3?
  2. Como sobre classes S4 correspondente?
  3. O que convenções você usa ao comentar .R classes / funções? Você coloca todos os seus comentários em ambos os arquivos .Rd e arquivos .R? É a sincronização desses arquivos cansativo?
Foi útil?

Solução

Se usar S3, S4, ou um pacote em tudo é principalmente uma questão de estilo (como diz Dirk), mas gostaria de sugerir usando um daqueles se você quiser ter um objeto muito bem estruturada (tal como faria em qualquer OOP idioma). Por exemplo, todas as classes de séries temporais têm objetos de séries temporais (eu acredito que eles estão todos S3 com exceção de sua ) porque lhes permite impor determinados comportamentos em torno da construção e uso desses objetos . Da mesma forma com a pergunta sobre a criação de um pacote: é uma boa idéia fazer isso se você vai ser re-utilizando o seu código com freqüência ou se o código será útil para alguém. Ela exige um pouco mais de esforço, mas a estrutura organizacional acrescentou pode facilmente compensar o custo.

Em relação S3 vs. S4 (discutido em R-Help aqui e aqui ) , a diretriz básica é que as classes S3 são mais "rápida e suja" , enquanto as classes S4 colocar mais rígido controle sobre os objetos e tipos . Se você está trabalhando em Bioconductor, você normalmente usará S4 (ver, por exemplo, "classes S4 e métodos" ).

Eu recomendaria ler alguns dos seguintes:

  1. "A (Not So) breve introdução ao S4", de Christophe Genolini
  2. "Os programadores nicho: uma classe simples, em S3 e S4" por Thomas Lumley
  3. "Brobdingnag: a '' Olá mundo '' pacote usando métodos S4 "por Robin KS Hankin
  4. "Convertendo pacotes para S4" por Douglas Bates
  5. "Como Métodos S4 trabalho" por John Chambers

Para obter a documentação, a sugestão de Hadley está no local: Roxygen vai fazer a vida mais fácil e coloca a documentação ao lado do código. Isso de lado, você ainda pode querer fornecer outros comentários em seu código além o que Roxygen ou os arquivos homem requerem, caso em que é uma boa prática para comentar o seu código para outros desenvolvedores. Esses comentários não vai acabar no seu pacote; eles só será visível no código fonte.

Outras dicas

Para 3. Use roxygen -. Ele funciona como javadoc para tomar comentários nos arquivos de origem e arquivos Rd construção

Isso é uma meia dúzia ou mais perguntas empacotados em um, o que torna difícil de responder.

Então, vamos tentar de dentro para fora: primeiro tentar resolver o seu RODBC invólucro problema. A representação de código irá sugerir si. Gostaria de começar com funções simples, e então talvez construir um pacote em torno dele. Que já lhe dá alguma encapsulamento.

Grande parte do resto é o estilo. Alguns códigos R proeminentes Juro por S4, enquanto outros juram sobre isso. Você sempre pode ler os pacotes de outros, bem como o código em si R. E você sempre pode voltar a implementar o seu invólucro RODBC de maneiras diferentes e a comparar suas próprias abordagens.

Editar: Refletindo lo atualizado e pergunta muito encurtado: Escolha alguns pacotes de CRAN, em particular entre aqueles que você usa. Eu acho que você vai encontrar rapidamente um pouco mais ou menos interessante de acordo com o seu estilo.

pouco mais estilo relacionadas que substância, mas a Google R guia de estilo vale a pena ler:

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top