Quando ho caricato pacchetto debug
eseguire il debug di uno script con zoo
oggetti, ho avuto problemi: la funzione index
da zoo
preso mascherate da debug
pacchetto. Come posso smascherare index
? In generale, come affrontare questi problemi di collisione di nome? Semplicemente non usiamo il pacchetto debug
con `zoo '?Come smascherare una funzione in R
risposta
simboli esportati sono sempre identificabile con la ::
dell'operatore:
zoo::index
funzioni nascoste non dichiarate nel namespace possono ancora essere accessibili usando :::
(tripla-due punti), e con l'esempio sarebbe
zoo:::.onLoad
che puoi vedere anche se non viene esportato.
È solo mascherato ma non è mascherato allo zoo, quindi quando una funzione dello zoo tenta di utilizzare l'indice, troverà sempre il proprio indice.
zoo ha anche un metodo time.zoo quindi se z è un oggetto zoo è possibile utilizzare il tempo (z) al posto dell'indice (z).
Infine puoi sempre fare riferimento a zoo :: index per assicurarti di ottenere quello in zoo.
grazie. time.zoo funzionerà ma non voglio modificare il mio script originale. E l'indice (zooobject) riporta un errore nel mio caso. Apperentemente R non sa che index.zoo dovrebbe essere chiamato su zooobject. – ahala
Se si carica lo zoo dopo aver caricato debug/mvbutils piuttosto che il contrario, l'indice in zoo sarà quello che si ottiene per impostazione predefinita anziché quello in debug/mvbutils. –
È possibile scaricare il pacchetto con funzioni mascherate e ricaricarlo. E riacquisterà la precedenza nella SearchPath:
unloadNamespace("zoo")
library("zoo")
In futuro, se si vuole caricare un pacchetto mentre impedendole di mascherare le altre funzioni, è possibile specificare la sua posizione nel percorso di ricerca, con un numero arbitrario di grandi dimensioni:
library("debug", pos = .Machine$integer.max)
- 1. Parametro funzione come argomento in una funzione R
- 2. Come passare una lista a una funzione in R?
- 3. R funzione immagine in R
- 4. Crea una funzione creata dall'utente in R
- 5. Ridefinire una funzione in un pacchetto R
- 6. Come applicare parzialmente una funzione in modo efficiente in R?
- 7. Una funzione R di base
- 8. Come definire una funzione a tratti in R
- 9. Come creare al meglio una funzione timer in R
- 10. Come si applica una funzione multiparametrica in R?
- 11. acquisizione di un'espressione come corpo di una funzione in R
- 12. Come usare acast (reshape2) all'interno di una funzione in R?
- 13. .Prima funzione in R
- 14. Utilizzando sd come funzione generica in R
- 15. R: passaggio dell'espressione a una funzione interna
- 16. Funzione di indicatore in R
- 17. R - Filtro un vettore utilizzando una funzione
- 18. Funzione lsm accelerazione in R
- 19. R pdf() l'utilizzo all'interno di una funzione()
- 20. funzione R che restituisce una stringa letterale
- 21. Restituzione di più oggetti in una funzione R
- 22. Quali sono i modi per modificare una funzione in R?
- 23. R: specifica una stringa come argomento di una funzione che chiama un'altra funzione
- 24. Risoluzione per l'inverso di una funzione in R
- 25. function (x) in R: scrivere una "funzione" senza definire una funzione?
- 26. Una funzione in R può restituire due vettori?
- 27. R non trova una funzione specifica in un pacchetto
- 28. Esiste una funzione di previsione per PLM in R?
- 29. R - Valuta una funzione nidificata in un ambiente
- 30. Come utilizzare la funzione R 'Sweep'
D'altra parte questo è il motivo per cui l'impostazione del sistema <-function() {} non rende magicamente R sicuro. – mbq
grazie. Posso impostare in modo temporaneo l'indice <-zoo :: index per ovviare a questo problema senza modificare il mio script originale. Sembra che alcuni pacchetti non funzionino insieme. – ahala