Dato un oggetto R arbitrario, come posso ottenere tutti i metodi associati all'oggetto?Trova metodi Oggetto R
risposta
Il più vicino a cui riesco a pensare è methods
(se oggetto/funzione S3, List all available methods for an S3 generic function, or all methods for a class.
) o showMethods
(se S4).
es .:
> A <- matrix(runif(10))
> B <- methods(class=class(A))
> B
[1] anyDuplicated.matrix as.data.frame.matrix as.raster.matrix*
[4] boxplot.matrix determinant.matrix duplicated.matrix
[7] edit.matrix* head.matrix isSymmetric.matrix
[10] relist.matrix* subset.matrix summary.matrix
[13] tail.matrix unique.matrix
Non-visible functions are asterisked
> attr(B,'info')
visible from
anyDuplicated.matrix TRUE package:base
as.data.frame.matrix TRUE package:base
as.raster.matrix FALSE registered S3method
boxplot.matrix TRUE package:graphics
determinant.matrix TRUE package:base
duplicated.matrix TRUE package:base
edit.matrix FALSE registered S3method
head.matrix TRUE package:utils
isSymmetric.matrix TRUE package:base
relist.matrix FALSE registered S3method
subset.matrix TRUE package:base
summary.matrix TRUE package:base
tail.matrix TRUE package:utils
unique.matrix TRUE package:base
O per una funzione:
> methods(summary)
[1] summary.aov summary.aovlist summary.aspell*
[4] summary.connection summary.data.frame summary.Date
[7] summary.default summary.ecdf* summary.factor
[10] summary.glm summary.infl summary.lm
[13] summary.loess* summary.manova summary.matrix
[16] summary.mlm summary.nls* summary.packageStatus*
[19] summary.PDF_Dictionary* summary.PDF_Stream* summary.POSIXct
[22] summary.POSIXlt summary.ppr* summary.prcomp*
[25] summary.princomp* summary.srcfile summary.srcref
[28] summary.stepfun summary.stl* summary.table
[31] summary.tukeysmooth*
Non-visible functions are asterisked
?Methods
può anche rivelarsi un utile di lettura.
La classe di un oggetto R viene ripristinata con class
. Gli oggetti non hanno metodi associati con loro nel linguaggio tipico di R. La classe di un oggetto determina quali metodi di funzione verranno applicati ad esso. Per determinare quali funzioni hanno i metodi associati a una determinata classe, è necessario testare tutte le funzioni disponibili per verificare se esistesse un metodo specifico della classe. Anche in questo caso le funzioni generiche tenterebbero di utilizzare un metodo "predefinito" nella maggior parte dei casi.
Alcuni metodi associati a una funzione generica S3 vengono visualizzati con methods
. I metodi di una funzione S4 vengono ripristinati con showMethods
. Quindi, per quello che la maggior parte delle persone chiamerebbe "oggetti", la tua domanda non ha senso, ma se capitasse di includere funzioni sotto il termine generale "oggetti" (che è tecnicamente corretto), allora ho risposto.
showMethods(classes="data.frame")
methods(class="data.frame")
Poi ci sono un gruppo di metodi che si potrebbe chiamare "implicito", anche se il loro nome R è "groupGeneric"
?groupGeneric
methods("Math") # These are "add-on" methods to the primitive Math functions
[1] Math.data.frame Math.Date Math.dates* Math.difftime Math.factor
[6] Math.mChoice Math.polynomial* Math.POSIXt Math.ratetable* Math.Surv*
[11] Math.times*
Non-visible functions are asterisked
?"+"
methods("Ops") # The binary operators such as "+", "-", "/"
[1] Ops.data.frame Ops.Date Ops.dates* Ops.difftime Ops.factor
[6] Ops.findFn Ops.mChoice Ops.numeric_version Ops.ordered Ops.polynomial*
[11] Ops.POSIXt Ops.raster* Ops.ratetable* Ops.Surv* Ops.times*
[16] Ops.ts* Ops.unit* Ops.yearmon* Ops.yearqtr* Ops.zoo*
Non-visible functions are asterisked
E anche allora non si è realmente visualizzare i membri della matematica o la famiglia Ops, ma li avresti visti nella pagina di aiuto per? groupGeneric. Non vedi Ops.numeric. Una vista di livello inferiore è fornita da:
Questi generano un errore se viene offerto l'argomento di classe errato.
Alcuni pacchetti definiscono funzioni che non sono metodi ma che sono tuttavia destinati all'uso con una particolare classe. Ad esempio, la libreria (igraph) definisce la funzione radius(_)
, che è destinata all'uso su oggetti nella classe igraph
. Poiché tali funzioni non sono metodi, methods(_)
e showMethods(_)
non le visualizzeranno.
In tali casi, lsf.str(_)
può essere molto utile. Ad esempio:
lsf.str("package:igraph")
comprende la linea:
radius : function (graph, mode = c("all", "out", "in", "total"))
- 1. Metodi aritmetici ottimizzati in R
- 2. Identificazione oggetto R
- 3. Identità oggetto R
- 4. Trova oggetto lancio std :: out_of_range
- 5. Android - Trova oggetto per ID
- 6. Trova oggetto nell'array utilizzando TypeScript
- 7. Trova metodi di classe non implementati
- 8. Come ottenere "Trova usi" lavorando con metodi impliciti dell'operatore?
- 9. Trova autovettore per un determinato autovalore R
- 10. Kotlin oggetto vs compagno-oggetto vs pacchetto ambito metodi
- 11. Trova il tipo di oggetto boost python
- 12. Trova la dimensione di un oggetto polimorfico
- 13. Trova giorno dell'anno con il pacchetto lubridate in R
- 14. Javascript: chiamata ai metodi oggetto all'interno dell'oggetto
- 15. passaggio di valori oggetto ai metodi
- 16. due diversi metodi sincronizzati dello stesso oggetto?
- 17. print_r per ottenere metodi oggetto in PHP?
- 18. Fonti su oggetti S4, metodi e programmazione in R
- 19. Trova tutti i metodi specializzati per un dato tipo
- 20. Come salvare un ambiente autonomo R oggetto
- 21. R Shiny errore: ingresso oggetto non trovato
- 22. Memorizzare un oggetto R arbitrario su HDD?
- 23. Capture ultima uscita come un oggetto R
- 24. R pagina di aiuto come oggetto
- 25. SQLAlchemy si aspetta un oggetto, ma trova una tabella
- 26. Trova il nome utente di Windows in R
- 27. Trova ora precedente e ora successiva in R
- 28. Trova la coordinata X, Y più vicina usando R
- 29. R non trova pacchetto anche dopo l'installazione del pacchetto
- 30. R non trova una funzione specifica in un pacchetto
In R, metodi sono associati a funzioni, non oggetti. Prima capirai che i sistemi OO di R più presto inizieranno a dare un senso. – hadley
Se su google "trova metodi r", i primi due risultati ti portano ai file della pagina della guida appropriati. : P –
@hadley ma non tutti gli oggetti funzione? –