Questão:
Como liberar um pacote R com vários arquivos de cama?
ShanZhengYang
2017-11-03 05:33:45 UTC
view on stackexchange narkive permalink

No momento, estou criando um pacote R e meus scripts exigem que, antes de qualquer análise, sejam carregados 1-2 arquivos de cama. Normalmente, eu executaria os scripts com o seguinte:

  library (data.table) session_bed = read.table ("/ path / name / to / bedfile.bed")  

e, em seguida, consulte session_bed ao longo da análise.

No entanto, para liberar isso como um pacote R, acredito que esses arquivos devem ser baixados no momento da instalação do pacote.

(1) Normalmente, como os arquivos cama são distribuídos em pacotes R? Estes são compactados com gzip? Onde eles são colocados?

De acordo com http://r-pkgs.had.co.nz/data.html, todos os arquivos .bed devem ser inst / extdata Eu acho. No entanto, não está claro para mim como "vincular" a esses dados dentro do pacote R.

Como outros pacotes lidaram com isso? (Existe um limite de tamanho?)

(2) Neste caso, a função de carregamento do arquivo de cama deve ser executada sobre o carregamento da biblioteca R, library (package_name) ? Existe opção mais apropriada?

Dois respostas:
benn
2017-11-03 13:33:00 UTC
view on stackexchange narkive permalink

Você pode armazená-lo na subpasta data / . Se uma de suas funções precisar deste arquivo de cama, você pode incluir importá-lo em sua função.

Aqui estão alguns exemplos de como obter os dados de data / subfolder.

Provavelmente há mais maneiras de fazer isso, é apenas uma maneira.

llrs
2017-11-03 16:48:41 UTC
view on stackexchange narkive permalink

Como benn disse, você pode armazená-los na subpasta data / do seu pacote. Não há limite de tamanho (AFAIK), mas se você planeja publicar seu pacote em alguns repositórios, eles podem ter limites ou outras restrições. O biocondutor requer a divisão dos dados necessários para um pacote de software em um determinado limite, mas para uma pequena quantidade de dados é bom.

Você pode encontrá-los via system.file como: read.csv (system.file ("data / mydata.csv", package = "mypackage")) .Claro que seus arquivos de cama precisarão da função apropriada para carregá-los.

Você pode carregar quando sua biblioteca for chamada, modificando a variável local ou usando .First (não tenho certeza do último) , mas isso polui o ambiente e às vezes é preferível usar a função dados . Pode ser necessário converter seus arquivos em um arquivo .Rdata .



Estas perguntas e respostas foram traduzidas automaticamente do idioma inglês.O conteúdo original está disponível em stackexchange, que agradecemos pela licença cc by-sa 3.0 sob a qual é distribuído.
Loading...