2012-12-20 14 views
6

Sto scrivendo un pacchetto R che inizia a crescere in termini di dimensioni, e così sarebbe davvero apprezzare di utilizzare una struttura personalizzato in cartelle pkg/R/e (in particolare) in pkg/src /.R pacchetto: utilizzare una struttura di file personalizzati/directory in pkg/R e pkg/cartelle src

Per esempio, diciamo che ho due famiglie di algoritmi di qualche tipo A, e alcune funzioni di tipo B, e un punto di ingresso principale. Idealmente R/o src/cartelle sarebbero organizzate come segue:

  • typeA/
    • algorithms1/
      • algo11.ext
      • ...
    • algorithms2/
      • algo21.ext
      • ...
  • typeB/
    • function1.ext
    • ...
  • main.ext

con "ext" in {R , cpp, c, f, ...}, e potenzialmente due file con lo stesso nome.

È possibile? Se sì, come posso farlo?

Grazie in anticipo!


[2012-12-31] EDIT: un'idea sarebbe quella di scrivere alcuni script - forse all'interno di un altro pacchetto R - a (dis) appiattire un pacchetto strutturato per test o diffusione. Ma probabilmente c'è una soluzione migliore, quindi aspetterò un po '.

+0

Potrebbero? essere in grado di usare un Makefile personalizzato in 'src /'. Hai già setacciato il manuale delle estensioni R? Penso che la ristrutturazione di R/'sarà più difficile. –

+0

Ho provato a usare un Makefile personalizzato in src /, ma sebbene abbia funzionato bene in linea di comando non è riuscito quando si utilizza R CMD INSTALL ("nessuna regola per costruire il target 'myfolder/myfile.c' necessario per myfile.o"). Ho trovato questo paragrafo solo sull'organizzazione delle sottodirectory http://cran.r-project.org/doc/manuals/R-exts.html#Package-subdirectories, e non ho visto nulla di utile all'interno. Niente neanche dopo aver fatto un po 'di googling, quindi ci ho provato. – BenjaminAuder

risposta

1

Come il manuale "Estensioni scrittura R" indicates here, un file Makevars in pkg/src consente di avere sottocartelle nidificate per codice C/C++/Fortran. (Vedere ad esempio il pacchetto RSiena).

Tuttavia, non ho trovato tutto ciò che riguarda una struttura personalizzata in pkg/R. Così ho scritto un piccolo pacchetto (utilizzabile, anche se necessita miglioramenti), che svolge i seguenti compiti:

  • caricare/scaricare un pacchetto avente (potenzialmente) cartelle poste sotto pkg/R
  • lancio R o unità e/C le prove su di esso [quadro di base, da sostituire (ad esempio runit e controllo)]
  • esportare il pacchetto per essere compatibile con CRAN (appiattire codice R, generare il file Makevars)

ho collegherà qui se raggiunge uno stato pubblicabile. (Per il momento potrei inviarlo per e-mail).

+0

Hai fatto progressi con il pacchetto? –

Problemi correlati