116 votes

IDENTIFICATION D'OBJET

Je suis souvent se retrouver avec une fonction produisant une sortie pour laquelle je ne comprends pas le type de données de sortie. Je m’attends à une liste, et il finit par être une liste de listes ou une trame de données ou autre chose. Ce qui est une bonne méthode ou un workflow pour déterminer le type de données de sortie en utilisant tout d’abord une fonction ?

121voto

ars Points 35803

J'ai l'habitude de commencer avec une certaine combinaison de:

typeof(obj)
class(obj)
sapply(obj, class)
sapply(obj, attributes)
attributes(obj)
names(obj)

le cas échéant, selon ce qui est révélé. Essayez, par exemple, avec:

obj <- data.frame(a=1:26, b=letters)
obj <- list(a=1:26, b=letters, c=list(d=1:26, e=letters))
data(cars)
obj <- lm(dist ~ speed, data=cars)

etc ..

Si obj est un S3 ou S4 objet, vous pouvez également essayer d' methods ou showMethods, showClass, etc. Patrick Burns R Inferno a un très bon article sur ce sec (#7).

EDIT: Dirk et Hadley mentionner str(obj) dans leurs réponses. Il est vraiment beaucoup mieux que tous les ci-dessus pour un accès rapide et même détaillée coup d'oeil dans un objet.

61voto

hadley Points 33766
<pre><code></code><p>C’est tout ce que vous devez à retenir pour 99 % des cas.</p></pre>

12voto

Dirk Eddelbuettel Points 134700

Si j’ai "SomeObject «" », dit par l’intermédiaire

puis je procède habituellement par

qui peut être suivi par head(), summary(), print(),... selon la classe que vous avez.

7voto

Josh Reich Points 2792
<pre><code></code><p>Peut également être utile</p></pre>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X