2010-02-03 10 views

Odpowiedz

6

Tak. Możesz użyć funkcji .onLoad, .onAttach lub .First.lib, aby robić co chcesz, gdy pakiet jest załadowany. Sugeruję przejrzenie pomocy dla tych funkcji. Będziesz używał .onLoad z przestrzenią nazw i .First.lib bez.

Jedną z konwencji jest to, że ludzie często umieszczają te polecenia w oddzielnym pliku zzz.R, który jest używany tylko do kodu związanego z pakietem.

22

Szybkie punkty:

  • jeśli pakiet zawiera przestrzeń nazw, a następnie .onLoad() jest gdzie zrobić

  • jeśli pakiet nie ma przestrzeni nazw, a następnie .First.lib() gdzie to zrobić

  • w jedną stronę, użyj packageStartupMessage() zamiast cat(), aby użytkownicy mieli możliwość wyboru tego trybu.

+0

+1 Bardzo pomocny, dziękuję. – Andrie

+0

+1 rzeczywiście. Gdzie mam to umieścić? Który plik z mojej paczki? –

+0

To miało znaczenie, a ludzie używali 'R/zzz.R' - która obecnie jest w większości konwencją. Myślę, że równie dobrze możesz zrobić "R/onLoad.R". –

Powiązane problemy