Objets booléens et instructions logiques

Cours objets booléens et instructions logiques, tutoriel & guide de travaux pratiques en pdf.

Fonctions predenies

Il existe beaucoup de fonctions deja programmees sous R. Une fonction a trois attri-buts :
{ Son nom.
{ Un ensemble d’arguments qui sont les objets necessaires a la realisation des instruc-tions de la fonction.
{ L’objet qu’elle renvoie.
Typiquement on appelle une fonction de la facon suivante :
x=nom_fonction(arg1, arg2, arg3)
Pour conna^tre la liste complete des fonctions prede nies de R, il su  t de taper :
> ls(« package:base »)
L’aide en ligne de R est particulierement bien faite. Elle comprend une description de la fonction, son utilisation, la liste des arguments avec une explication de leur usage, des exemples et les valeurs par defauts.

 Fonctions ecrites par l’utilisateur

Il est possible d’ecrire soit m^eme des fonctions en utilisant l’editeur. Voici un exemple de fonction, avec la syntaxe a utiliser :
randomvec=function(a,n){ En-t^ete de la fonction.
alea=runif(n)*a  alea contient n nombres aleatoires entre 0 et a.
alea Renvoie le vecteur alea.}
Fin de la fonction.
Notez que le mot function est un mot reserv . Les accolades { et } de nissent le debut et la n de la fonction. La derniere instruction doit contenir le nom de l’objet renvoy par la fonction (ici, le vecteur alea). Avant de pouvoir appeler cette fonction dans la fen^etre de contr^ole, il faut l’evaluer. Il su t pour cela de la copier dans la fen^etre de contr^ole. Ensuite, elle peut ^etre appelee :

  • Y = randomvec(10, 100)
  • length(Y)
  • 100 > Y[1:5]
  • 300530 5.970160 9.975559 8.900480 7.662304

Exercice
Dans certains cas, il peut ^etre utile de simuler des donnees. Nous vous proposons ici de simuler deux populations de m^eme variance mais de moyennes di erentes, puis de realiser des permutations pour tester l’hypothese H0 que les deux moyennes sont egales. Il s’agit bien entendu d’un cas d’ecole, puisque l’on conna^t ici la loi de probabilite de la statistique du test d’egalit des deux moyennes.

  1. Utilisez la fonction rnorm pour simuler deux populations pop1 et pop2, de m^eme taille, de m^eme variance mais de moyennes di erentes. Les parametres dont vous aurez besoin ici sont m1 et m2, les deux moyennes, la taille de chaque echantillon n et l’ecart-type sigma. Utilisez l’aide de la fonction rnorm pour conna^tre sa syntaxe.
  2. Concatenez les valeurs obtenues dans un vecteur val, et creez un vecteur d’indices pop pour reperer les populations dont sont issues les valeurs simulees. Concatenez ces deux vecteurs dans un tableau de donnees que vous appellerez don en utilisant l’instruc-tion don=data.frame(pop=pop, val=val). Vous pouvez faire un histogramme du vecteur data$val pour regarder la distribution des valeurs simulees.
  3. Il peut ^etre interessant de repeter cette simulation avec des parametres di erents. Pour cela, creez une fonction que vous appellerez randompop qui prend comme argu-ments m1,m2,n,sigma, qui rassemble les instructions des etapes 1 et 2, et qui renvoie le tableau data. Copiez la fonction dans la fen^etre de contr^ole. Testez ensuite votre fonction avec par exemple les instructions suivantes :
  • data = randompop(1, 2, 100, 1)
  • hist(data$val, 20)

Refaites plusieurs fois la simulation en changeant la valeur de m2.

  1. Realisez un test de student de comparaison des deux moyennes en a chant dans la fen^etre de contr^ole :

t.test(data$val[data$pop==1],data$val[data$pop==2]) >true.t=t.test(data$val[data$pop==1],data$val[data$pop==2])$statistic >pval.t=t.test(data$val[data$pop==1],data$val[data$pop==2])$p.value

Instructions conditionnelles

la syntaxe if(condition){instruction} permet de calculer les instructions unique-ment si la condition est vraie. Par exemple, if(x<0){x=-x} transforme x en nombre positif. On peut aussi de nir un jeu d’instructions pour le cas ou la condition est fausse : if(x=0){ x=x+1 } else{ x=0}

Exercice
A partir du tableau data que vous avez simule, vous pouvez maintenant realiser un test de permutation pour tester l’hypothese d’egalit des moyennes des deux populations. Si l’hypothese H0 est vraie, alors vous pouvez rea ecter au hasard des indices d’appartenance a une population ou a une autre a chaque entree du tableau data cre precedemment.

  1. Utilisez la fonction sample pour generer une permutation au hasard des indices conte-nus dans le vecteur data$pop, que vous appellerez pop.
  2. Vous pouvez realiser un test de Student pour comparer les moyennes des deux po-pulations ctives ainsi creees, la population des entrees du tableau data pour lesquelles pop==1, et la population des entrees pour lesquelles p.pop==2. Vous pouvez stocker la statistique du test dans un vecteur H0.t.
  3. Initialisez t en utilisant l’instruction :

>H0.t=NULL
Puis ecrivez une boucle pour realiser 1000 permutations. A chaque nouvelle permutation, vous incrementerez H0.t de la nouvelle valeur de la statistique de test en utilisant l’ins-truction :
>H0.t = c(H0.t, t.test(data$val[p.pop==1],data$val[p.pop==2])$statistic) Vous avez cre un vecteur contenant 1000 valeurs de la statistique du test sous l’hypothese H0.

  1. Vous pouvez maintenant calculer une probabilite critique empirique pour votre test. Pour cela, creez un vecteur booleen qui contient TRUE si la valeur absolue de t est su-perieure a la valeur observee true.t . La valeur absolue d’un reel s’obtient en utilisant la fonction abs. Pour nir, vous utiliserez la propriet suivante : si x est un vecteur booleen, alors sum(x) renvoie la somme des termes vrais du vecteurs.

1 Introduction 
1.1 Chargement du logiciel
1.2 Editeur
1.3 Aide
1.4 Fenetre graphique
1.5 Repertoire et environnement de travail
2 Scalaires, Vecteurs et Matrices 
2.1 R, une machine a calculer
2.2 Operations sur les scalaires
2.3 Creer un vecteur ou une matrice
2.4 Objets booleens et instructions logiques
2.5 Extraire les elements d’un vecteur
2.6 Extraire les elements d’une matrice
2.7 Les cha^nes de caracteres
2.8 Les listes
3 Tableaux de donnees : data.frames 
3.1 Lecture d’un chier de donnees
3.2 Extraire les colonnes d’un tableau
3.3 Extraire des elements d’un tableau
3.4 Fonctions de desciption d’un tableau de donnees
3.5 Realisation d’un graphique
4 Fonctions 
4.1 Fonctions predenies
4.2 Fonctions ecrites par l’utilisateur
5 Programmation 
5.1 Boucles
5.2 Instructions conditionnelles

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *