Próbuję sprawdzić, czy konkretna zmienna lub funkcja istnieje w pakiecie. Załóżmy na przykład, że chcę przetestować, czy istnieje funkcja o nazwie plot
w pakiecie "grafika".Sprawdź, czy zmienna/funkcja istnieje w pakiecie?
Poniższe testy czy funkcja plot
istnieje, ale nie to, co pakiet pochodzi z:
exists('plot', mode='function')
Albo można przetestować, że coś o nazwie plot
istnieje w pakiecie graphics
, ale nie powiedzieć, czy jest to funkcja:
'plot' %in% ls('package:graphics')
Czy istnieje dobry sposób, aby zapytać „czy obiekt o nazwie X istnieje w trybie opakowania Y z”? (Zasadniczo mogę ograniczyć exists
do określonego pakietu?)
(Tak, mogę połączyć powyższe dwie linie do pierwszego testu, który plot
jest w graphics
a następnie poprosić o trybie plot
, ale co jeśli miałem ? moja własna funkcja plot
maskowania graphics::plot
mógłbym wtedy zaufać wyjście exists('plot', mode='function')
)
Tło: testy pisania dla pakietu kopalni i chcesz przetestować, że różne funkcje są eksportowane. Używam pakietu testthat
, który wykonuje testy w środowisku, w którym widzę wszystkie wewnętrzne funkcje pakietu i został użądlony przez exists('myfunction', mode='function')
zwracając true, ale faktycznie zapomniałem wyeksportować myfunction
. Chcę przetestować, że różne funkcje są eksportowane .
Jest w związku z tym [Pytanie] (http://stackoverflow.com/ pytania/14430728/find-functions-with-specific-arguments/14430885 # 14430885) – agstudy