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 ?
Réponses
Trop de publicités?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.