Dans R, chaque "objet" a un mode
et un class
. Le premier représente la façon dont un objet est stocké en mémoire (numérique, caractère, liste et fonction) tandis que le second représente son type abstrait. Par exemple:
d <- data.frame(V1=c(1,2))
class(d)
mode(d)
typeof(d)
Comme vous pouvez le voir, les trames de données sont stockées en mémoire list
mais elles sont enveloppées dans des data.frame
objets. Ce dernier permet l'utilisation des fonctions membres ainsi que la surcharge des fonctions comme print
avec un comportement personnalisé.
typeof
( storage.mode
) donnera généralement les mêmes informations que mode
mais pas toujours. Exemple concret:
typeof(c(1,2))
mode(c(1,2))
Le raisonnement derrière cela peut être trouvé ici :
La fonction spécifique R typeof renvoie le type d'un objet R
Le mode Fonction donne des informations sur le mode d'un objet au sens de Becker, Chambers & Wilks (1988), et est plus compatible avec d'autres implémentations du langage S
Le lien que j'ai posté ci-dessus contient également une liste de tous les R natifs basic types
(vecteurs, listes, etc.) et de tous compound objects
(facteurs et data.frames) ainsi que quelques exemples de comment mode
, typeof
et class
sont liés pour chaque type.