Jak dodawać funkcje do pakietu?
Najczęstszym zastosowaniem pakietów jest udostępnianie zbioru funkcji realizujących podobne zadanie.
Aby dodać funkcję do pakietu, wystarczy jej definicję dodać w pliku o rozszerzeniu R do katalogu o nazwie R. Podczas ładowania pakietu wczytywane są wszystkie instrukcje z plików *.R umieszczonych w katalogu R.
Nazwa pliku *.R nie musi być taka sama jak nazwa funkcji, ale zwyczajowo nazwy zbliżone, by łatwiej było znaleźć odpowiednią definicję.
Przykładowo, poniżej przedstawiamy definicję funkcji jakiPrzebieg, liczącą średni przebieg aut z danego rocznika.
Definicję tej funkcji należy wkleić do dowolnego pliku z rozszerzeniem R w katalogu o nazwie R.
jakiPrzebieg <- function(rok = '', auta) {
wybrane <- filter(auta, Rok.produkcji == rok)
mean(wybrane$Przebieg.w.km, na.rm=TRUE)
}
Jak dokumentować funkcje?
Dokumentacja dla funkcji i danych przechowywana jest w plikach Rd w katalogu man. Można ją tworzyć w dowolnym tekstowym edytorze.
Ale wygodniej jest pracować z dokumentacją, gdy jest ona w tym samym pliku co kod R. Z tego powodu sugerowanym rozwiązaniem do tworzenia dokumentacji jest stosowanie coraz bardziej popularnego pakietu roxygen2.
Jak z niego korzystać?
Opis funkcji umieszcza się w tym samym pliku R co kod funkcji w wierszach rozpoczynających się od znaków #'.
Pierwsza linia dokumentacji określa jednozdaniowy tytuł funkcji, kolejny akapit to krótki opis funkcji. Następne akapity są traktowane jako rozszerzony opis.
W dokumentacji wykorzystywane są tagi roxygen2, rozpoczynające się od znaku @.
Najczęściej stosowane tagi to
@param- opis dla określonego parametru opisywanej funkcji@return- opis dla wyniku funkcji@export- tag określający, że dana funkcja ma być udostępniona przez pakiet@examples- blok z przykładami@rdname- określa nazwę pliku Rd
Minimalna dokumentacja powinna zawierać tytuł oraz opisy argumentów funkcji. Dla przykładowej funkcji jakiPrzebieg() zawartość pliku R mogłaby wyglądać tak:
#' Średni przebieg aut wyprodukowanych w danym roku
#'
#' Funkcja jakiPrzebieg() wyznacza średni przebieg aut,
#' które jako data produkcji mają podany wskazany rok.
#'
#' @param rok Rok, dla którego liczona ma być średnia, domyślnie 2012.
#' @param auta Zbiór danych, na bazie którego liczona ma być średnia.
#'
#' @export
jakiPrzebieg <- function(rok = '2012', auta) {
wybrane <- filter(auta, Rok.produkcji == rok)
mean(wybrane$Przebieg.w.km, na.rm=TRUE)
}
Po zbudowaniu dokumentacji, w pakiecie opis dla funkcji jakiPrzebieg() będzie dostępny po uruchomieniu instrukcji ?jakiPrzebieg.

Poniżej przedstawiona jest przykładowa dokumentacja dla funkcji proton z pakietu proton. Jest ona bardziej rozbudowana, można wiec zobaczyć jak wykorzystywać inne tagi.

O tym jak przetworzyć taki plik na plik z poprawnie zbudowaną dokumentacją, piszemy w rozdziale Jak budować stworzony pakiet?.