Chapitre 6. Programmation en R
301
Termes ` a retenir
function(,,...,) : d´ eclare un objet fonction
"{"() : permet de d´ efinir un bloc d’instructions et retourne la derni` ere ´ evalu´ ee
class(), "class<-"() : extrait, affecte la classe de l’objet
missing() : teste si un param` etre effectif a ´ et´ e fourni
attributes(), "attributes<-"() : extrait, affecte tous les attributs sous
forme de liste
attr(), "attr<-"() : extrait, affecte un seul attribut
expression() : cr´ ee un objet expression
parse() : convertit du texte en une expression
eval() : ´ evalue une expression
"∼"() : cr´ ee un objet formule
new.env() : cr´ ee un environnement
local() : permet d’ex´ ecuter du code localement dans un environnement
Exercices
6.1- Pour chacune des lignes de commandes suivantes :
– function(nom) {nom}
– (function(nom) {nom})("Ben")
– (function(nom) {cat(nom,"\n")})("Ben")
– (function(nom) {invisible(nom)})("Ben")
indiquez quel est le type (ou classe) de l’objet R retourn´ e. Quel est aussi
l’affichage produit lors de l’ex´ ecution de ces lignes de commandes ?
6.2- Y a-t-il une diff´ erence entre :
– nom <- function(nom) nom et nom <- function(nom) {nom}
– nom <- function(nom) {nom} et
nom <- function(nom) {return(nom)}
– nom <- function(nom) {nom} et (function(nom) {nom}) -> nom
6.3- Y a-t-il une diff´ erence lors de l’ex´ ecution de nom() et nom("Peter")
lorsque :
– nom <- function(nom="Peter") nom
– nom <- function(nom="Peter") nom2 <- nom
Pour ces deux d´ eclarations de la fonction nom(), y a-t-il une diff´ erence
dans la nature de l’objet R res obtenu par res <- nom("Ben") ?
6.4- Quel est l’objet R retourn´ e lors de l’ex´ ecution de nom() lorsque :
nom <- function(nom="Peter") {
nom
# La derni` ere instruction est un commentaire!
}
301
Termes ` a retenir
function(
"{"() : permet de d´ efinir un bloc d’instructions et retourne la derni` ere ´ evalu´ ee
class(), "class<-"() : extrait, affecte la classe de l’objet
missing() : teste si un param` etre effectif a ´ et´ e fourni
attributes(), "attributes<-"() : extrait, affecte tous les attributs sous
forme de liste
attr(), "attr<-"() : extrait, affecte un seul attribut
expression() : cr´ ee un objet expression
parse() : convertit du texte en une expression
eval() : ´ evalue une expression
"∼"() : cr´ ee un objet formule
new.env() : cr´ ee un environnement
local() : permet d’ex´ ecuter du code localement dans un environnement
Exercices
6.1- Pour chacune des lignes de commandes suivantes :
– function(nom) {nom}
– (function(nom) {nom})("Ben")
– (function(nom) {cat(nom,"\n")})("Ben")
– (function(nom) {invisible(nom)})("Ben")
indiquez quel est le type (ou classe) de l’objet R retourn´ e. Quel est aussi
l’affichage produit lors de l’ex´ ecution de ces lignes de commandes ?
6.2- Y a-t-il une diff´ erence entre :
– nom <- function(nom) nom et nom <- function(nom) {nom}
– nom <- function(nom) {nom} et
nom <- function(nom) {return(nom)}
– nom <- function(nom) {nom} et (function(nom) {nom}) -> nom
6.3- Y a-t-il une diff´ erence lors de l’ex´ ecution de nom() et nom("Peter")
lorsque :
– nom <- function(nom="Peter") nom
– nom <- function(nom="Peter") nom2 <- nom
Pour ces deux d´ eclarations de la fonction nom(), y a-t-il une diff´ erence
dans la nature de l’objet R res obtenu par res <- nom("Ben") ?
6.4- Quel est l’objet R retourn´ e lors de l’ex´ ecution de nom() lorsque :
nom <- function(nom="Peter") {
nom
# La derni` ere instruction est un commentaire!
}
