Sto provando a verificare se una particolare variabile o funzione esiste in un pacchetto. Ad esempio, supponiamo di voler verificare se una funzione denominata plot
esistesse nel pacchetto "graphics".Verificare se una variabile/funzione esiste in un pacchetto?
I seguenti test se esiste una funzione plot
, ma non quello che il pacchetto viene da:
exists('plot', mode='function')
o posso provare che qualcosa chiamato plot
esiste nel pacchetto graphics
, ma questo non mi dice se si tratta di una funzione:
'plot' %in% ls('package:graphics')
c'è un bel modo per chiedere "non un oggetto chiamato X esiste nel pacchetto di Y di modalità Z"? (In sostanza, posso limitare exists
ad un particolare pacchetto?)
(Sì, posso combinare queste due linee al primo test che plot
è in graphics
e poi chiedere per la modalità di plot
, ma cosa succede se ho avuto ? la mia funzione di mascheramento plot
graphics::plot
Potrei quindi fidarsi l'uscita di exists('plot', mode='function')
)
Background: scrittura dei test per un pacchetto di mine e vogliono mettere alla prova che le varie funzioni vengono esportate. Sto usando il pacchetto testthat
che esegue i test in un ambiente in cui posso vedere tutte le funzioni interne del pacchetto e sono stato punto da exists('myfunction', mode='function')
restituendo true, ma in realtà ho dimenticato di esportare myfunction
. Voglio verificare che varie funzioni sono esportate.
Questo è in relazione con questo [domanda] (http://stackoverflow.com/ domande/14430728/find-funzioni-con argomenti specifici/14430885 # 14430885) – agstudy