2013-02-17 7 views
8

Witam Mam pakiet z funkcjami, które tworzą gui z gWidget, czy jest sposób, w jaki mogę to zrobić, aby został wykonany podczas ładowania pakietu, więc interfejs pojawia się od razu .Wywołuje funkcję z pakietu po wykonaniu biblioteki (pkg)

Myślałem coś takiego:

.OnAttach <- function(libname, pkgname){ 
    gui() 
} 

będzie działać, ale wciąż się uczę o hakach, a wydarzenia podczas obciążenia opakowania i rozładunku i środowisko R rzeczy.

EDIT:

To co obecnie mam w moim pliku zzz:

.onLoad <- function(libname = find.package("GspeEaR"), pkgname = "GspeEaR") { 
    gui() 
} 

Dzięki,

Ben W.

+2

czy wypisałeś '.onLoad', zrzucając go w pliku .R tradycyjnie zwanym zzz. Oto przykład, w którym użyłem tego: https://github.com/trinker/gmailR/blob/master/R/zzz.R –

+0

@TylerRinker, dlaczego nie uczynisz tej odpowiedzi? – Arun

Odpowiedz

3

myślę chcesz .onLoad który można zrzucić w plik .R o nazwie zzz.R (tradycyjnie). Oto przykład, w którym użyłem tego: github.com/trinker/gmailR/blob/master/R/zzz.R

+0

Po prostu próbowałem tego, będę musiał spróbować go na moim komputerze później, ponieważ nie jestem pewien, czy jest to wyłącznie z powodu mojego mac na pracy, ale kiedy buduję i przeładowuję w RStudio: Błąd: .onLoad nie powiodło się w loadNamespace() dla 'GspeEaR', szczegóły: wywołanie: function (classes, fdef, mtable) error: nie można odnaleźć dziedziczonej metody dla funkcji '.gwindow' dla podpisu "" NULL "' Błąd: ładowanie nie powiodło się – Ward9250

+0

Właśnie wypróbowałem na moim komputerze, ten sam błąd zdarza się. Błąd wykracza poza moje możliwości odszyfrowania. Zaktualizowałem pokazane przeze mnie pytanie pokaż, co aktualnie mam w moim pliku zzz. – Ward9250

+0

@TylerRikner dlaczego definiujesz '.onload' w ten sposób? Chodzi mi o to, dlaczego są parametry inicjujące? Użyłem twojej odpowiedzi [tutaj] (http://stackoverflow.com/questions/26045999/how-to-check-platform-in-onload-in-the-r-package/26046264?noredirect=1#comment40904153_26046264), ale wygląda źle (zobacz komentarz hadleya poniżej mojej odpowiedzi we wspomnianym łączu) – agstudy

Powiązane problemy