Je me demandais quelles sont les différences entre les objets Mode, Classe et Type de R? Le type d'un objet R peut être obtenu par la fonction typeof (), mode par mode () et classe par classe ().
Également d'autres fonctions et concepts similaires que j'ai manqués?
Merci et salutations!
Réponses:
Le
class()
est utilisé pour définir / identifier le "type" d'un objet du point de vue de la programmation orientée objet dans R. So fortoute fonction générique ayant une méthode "entier" sera utilisée.
typeof()
donne le "type" d'objet du point de vue de R, tandis quemode()
donne le "type" d'objet du point de vue de Becker, Chambers & Wilks (1988). Ce dernier peut être plus compatible avec d'autres implémentations de S conformément au manuel de définition du langage R.J'aurais probablement commis une erreur en utilisant
typeof()
dans la plupart des cas à moins que ce soit pour passer des objets R au code compilé, oùstorage.mode()
cela sera utile.Ceci est utilement discuté dans la définition du langage R comme lié à ci-dessus.
la source
<-
et=
pour l'affectation de variable.De: https://www.mail-archive.com/[email protected]/msg17169.html :
Le «mode» est une classification mutuellement exclusive d'objets en fonction de leur structure de base. Les modes "atomiques" sont numérique, complexe, caractère et logique. Les objets récursifs ont des modes tels que «liste» ou «fonction» ou quelques autres. Un objet a un et un seul mode.
'classe' est une propriété affectée à un objet qui détermine comment les fonctions génériques fonctionnent avec lui. Ce n'est pas une classification mutuellement exclusive. Si aucun objet n'a été attribué à un objet, tel qu'un simple vecteur numérique, sa classe est généralement identique à son mode, par convention.
Changer le mode d'un objet s'appelle souvent «coercition». Le mode d'un objet peut changer sans nécessairement changer de classe.
la source
La principale différence entre class et typeof est que le premier peut être défini par l'utilisateur, mais pas le type. Par exemple, définir une liste
Donner un certain nom de classe à un objet défini par l'utilisateur est très utile pour écrire des programmes. Cela permet de baliser les objets définis par l'utilisateur de la même manière que dans les langages de programmation orientés objet.
la source
R
documentation detypeof
etclass
, l'affirmation concernant la "différence principale" est incorrecte.class
est un attribut d'un objet qui peut être affecté quel que soit son mode de stockage interne, alors que "typeof détermine le type (interne) ou le mode de stockage de tout objet". L'une décrit une caractéristique logique tandis que l'autre est une caractéristique physique d'un objet.