Mis a jour le 2016-05-22, 16:22

Généralités

R est un langage peu typé : pas de cast explicite. Mais il y a la notion de classe.
Affectation (assignation) :
Les assignations sont locales à une fonction, sauf si elles sont faites avec l'opérateur de super-assignation auquel cas elles sont globales (persistent à la sortie de la fonction) : Mais attention, la variable est une variable globale différente de celle de la variable locale même si les deux ont le même nom !
f <- function() {
  a <- 2
  a <<- 1
  print(paste("local = ", a, sep = ""))
}

a <- 0
f()
print(paste("global = ", a, sep = ""))
donne :
[1] "local = 2"
[1] "global = 1"
NULL :
Impression d'un objet :
Description sommaire d'un objet : str(myVar) : permet de voir un résumé de la variable, par exemple toutes les colonnes d'un dataframe avec leur type.
Integer sous R : v <- 232L
typeof : donne le type interne de stockage :
classe : attribut d'un objet qui précise à quelle classe il appartient et permet de savoir quelle méthode invoquer quand on donne le nom d'une fonction. Un objet peut appartenir en même temps à plusieurs classes !
Mécanisme des classes : quand une fonction générique "func" est appliquée à un objet de classes c("firstClass", "secondClass"), le système cherche l'existence de la fonction func.firstClass, ou sinon func.secondClass, ou sinon, la fonction par défaut func.default. Si l'objet n'a pas de classe, c'est directement func.default qui est utilisée.
unclass(obj) : renvoie une copie de obj ou l'attribut class a été retiré.
Un objet peut avoir des attributs :
On peut indiquer au début d'un script des options :
appel d'une fonction de manière indirecte :

Copyright Aymeric Duclert
programmer en R, tutoriel R, graphes en R