2013-09-04 10 views
10

Uczę się budować własne pakiety za pomocą RStudio. Obecna wersja .tar.gz dla pakietu (o nazwie SteenSubsSpec) to here. Obecnie wydaje się, że polecenie zbudowało pomyślnie pakiet z & Roxygen-ize. Jednak funkcje nie wydają się być załadowane do pamięci, pomimo faktu, że Build & Reload pomyślnie aktualizuje dokumentację. Co ja robię źle?funkcje nie załadowane z pakietu homebuilt

Build & Reload podać następujące dane wyjściowe:

==> roxygenize('.', roclets=c('rd')) 
  • sprawdzanie zmian ... Gotowe

==> R CMD budować SteenSubsSpec

* checking for file ‘SteenSubsSpec/DESCRIPTION’ ... OK 
* preparing ‘SteenSubsSpec’: 
* checking DESCRIPTION meta-information ... OK 
* excluding invalid files 
Subdirectory 'R' contains invalid file names: 
    ‘2013_08_30_report-concordance.tex’ ‘2013_08_30_report.Rnw’ 
    ‘2013_08_30_report.log’ ‘2013_08_30_report.pdf’ 
    ‘2013_08_30_report.synctex.gz’ ‘2013_08_30_report.tex’ 
* checking for LF line-endings in source and make files 
* checking for empty or unneeded directories 
Removed empty directory ‘SteenSubsSpec/inst’ 
* building ‘SteenSubsSpec_1.0.tar.gz’ 

Source package written to ~/Dropbox/[my directory] 

ten aktualizuje dokumentację : ?write_paper() wyświetla bieżący dokument zgodnie z oczekiwaniami. Jednak

require(SteenSubsSpec) 
write_paper() 

daje Error: could not find function "write_paper"

kilka rzeczy, które wydają się być poprawne:

  • Wszystkie pliki funkcyjne znajdują się w katalogu R i mieć taką samą nazwę jak ich definicji (np /R/write_paper.R definiuje write_paper() <- function {...
  • Plik DESCRIPTION zawiera nazwy wszystkich odpowiednich plików funkcji: Collate: ... 'write_paper.R

Jak mogę rozwiązać ten problem?

+0

Czy wyeksportowałeś funkcje, aby były dostępne w przestrzeni nazw? Czy możesz uzyskać do niego dostęp za pomocą 'SteenSubsSpec ::: write_paper()'? – A5C1D2H2I1M1N2O1R2T1

+0

Nie zgaduję - nie wiem, co to oznacza, ale zacznę googlować. Zwróć uwagę, że plik NAMESPACE jest pusty. –

+1

to byłby problem najprawdopodobniej :) – A5C1D2H2I1M1N2O1R2T1

Odpowiedz

9

Najprawdopodobniej funkcje nie są eksportowane do pliku NAMESPACE (którego stan jest obecnie pusty).

W RStudio, w "narzędziach do budowania" w "opcjach projektu", należy sprawdzić, czy "Generuj dokumentację z roxygen" jest zaznaczone. Następnie kliknij "konfiguruj". Upewnij się, że zaznaczone jest również "Użyj roxygena do wygenerowania pliku NAMESPACE".

W swoich plikach funkcji R dodaj @export yourfunctionname (lub, technicznie, #' @export yourfunctionname), a po zbudowaniu i przeładowaniu, plik NAMESPACE powinien zostać zaktualizowany, a twoje funkcje nie powinny być już niewidoczne.

Powiązane problemy