Cours 4 Boucles, Programmation de base.

Slides:



Advertisements
Présentations similaires
Boucles et Tests For( in ) { } While( ) { } Les exécutions conditionnelles (if.. else) peuvent être évitées avec des indexations logiques. Exemples: y=numeric(length(x));
Advertisements

C++ Les fonctions. Présentation Utilité : Dès qu'un programme dépasse la centaine de lignes de code, il est pratique de pouvoir le décomposer en plusieurs.
Cours 5 Boucles, Programmation de base. Boucles et Tests for( in ) { } while( ) { } Exemple: x=rep(5,0) for (i in 1:5) x[i]=2*i+1 Les fonctions du type.
Génération de matrices matrix() Ce sont des vecteurs qui possèdent un argument supplémentaire, qui est lui-même un vecteur de longueur 2, sa dimension,
CINI – Li115 1 Semaine 9 Algorithmes de tri ● Introduction ● Tri à bulle ● - principe ● - algorithme ● - efficacité ● Tri par sélection ● - principe, algorithme,
Auteur : Patrice LEPISSIER Les probabilités  Notions de base Notions de base  Variable aléatoire Variable aléatoire  La loi Normale La loi Normale.
CINI – Li115 1 Semaine 3 Boucles (suite), tirages aléatoires, bibliothèque graphique ● Imbrication d'instructions if et for ● Boucles for imbriquées ●
Cours 7 Programmation de base. Boucles et Tests for( in ) { } while( ) { } Exemple: x=rep(5,0) for (i in 1:5) x[i]=2*i+1 Les fonctions du type apply(),replicate()
Cours 4 Boucles, Programmation de base. Boucles et Tests for( in ) { } while( ) { } Exemple: x=rep(5,0) for (i in 1:5) x[i]=2*i+1 Les fonctions du type.
CINI – Li115 1 Semaine 4 Révisions ● Questions de cours ● Types des expressions ● Déclaration de variables ● Instruction conditionnelle et boucles ● Structure.
Cours 3 statistiques avec R. Lois de probabilité, distributions On peut évaluer les quantités suivantes: Fonctions de répartition Densité Quantiles Simulations.
SQL query - 1 / D. Berrabah SQL : interrogation de BD Requêtes d'interrogation simples Requêtes complexes Agrégats et groupement.
Cours 1 Généralités. Généralités sur R R est un système d ’analyse statistique et graphique, clone de S+ (très cher), basé sur le langage S (statistiques),écrit.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Types et opérations fondamentales ● Tests ● Boucles ● Pointeurs, références.
Cours 4 Compléments Quelques résumés statistiques.
Tableaux en C Mardi 2/05.
Semaine 8 Retour sur les tableaux : fonctions et récursivité
Ajouter le code dans une page html
Module de gestion des tournées de livraison
Chapitre 3 fichiers de données
Les Instructions Itératives (Les Boucles)
Listes,dataframes séries temporelles
Chapitre 1 nombres, chaînes de caractères, booléens, et VARIABLES
Chapitre 4 manipulation de données
Langage de manipulation de données (LMD)
Algorithmique et programmation de modèles numériques
Instructions de contrôle
Les Tableaux Mme DJEBOURI. D.
Chapitre 5 tests conditionnels, boucles et fonctions
Loi Normale (Laplace-Gauss)
Evaluations nationales CM
AO (Architecture des ordinateurs)
Principes de programmation (suite)
2.1. Présentation de l’exemple
Analyse en Composantes Principales A.C.P. M. Rehailia Laboratoire de Mathématiques de l’Université de Saint Etienne (LaMUSE).
L’Instruction de Test Alternatif
Session 1 31 mai 2017 Plateforme ICONICS Justine Guégan
Programmation Numération Compétences visées Période
SIF-1053 Architecture de ordinateurs
Langages de programmation TP3
Introduction aux Statistiques Variables aléatoires
Technologies de l’intelligence d’affaires Séance 12
MOYENNE, MEDIANE et ECART TYPE d’une série statistique
Week 1 Lecture 1 Introduction à R L3PRO 2017.
Codage Indenter le code Limiter la portée des variables Traiter les erreurs en premier Utiliser le switch au delà de 3 tests en cascades Ne jamais utiliser.
L’I NSTRUCTION DE T EST A LTERNATIF Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira, Bejaia Année.
L ES I NSTRUCTIONS I TÉRATIVES (L ES B OUCLES ) Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira,
Cours N°9: Algorithmiques Les Tableaux 1
Les tableaux.
Manipulation D’Une Base De Données
Programmation en C++ C++ de base
Exercice PHP DEUST TMIC
Calcul Scientifique Initiation à SCILB
ACP Analyse en Composantes Principales
1 Copyright © 2004, Oracle. Tous droits réservés. Extraire des données à l'aide de l'instruction SQL SELECT.
2 Copyright © 2004, Oracle. Tous droits réservés. Restreindre et trier les données.
Chapitre 1: introduction à Matlab
Etude de la commande du système à inertie
Les structures de base Listes chainées. Listes Les listes(similaire aux tableaux) sont des structures informatiques qui permettent de garder en mémoire.
Position, dispersion, forme
Formation MATLAB PRÉSENTER PAR : BOUKHIRA NASREDDINE.
PROGRAMMATION ET ENSEIGNEMENT
Opérateurs et fonctions arithmétiques Opérateurs de relation Opérateurs logiques Cours 02.
Programme d’appui à la gestion publique et aux statistiques
Tableaux Cours 06.
GEOMETRIE VECTORIELLE
Python Nicolas THIBAULT
PROGRAMMATION SOUS R. PRESENTE PAR : ACHETTOU ISMAIL LAARICH TARIQ ENCADRE PAR : Pr. EXPOSÉ SUR LA PROGRAMMATION SUR R 2.
Type Tableau Partie 1 : Vecteurs
Transcription de la présentation:

Cours 4 Boucles, Programmation de base

Boucles et Tests for( in ) { } while( ) { } Exemple: x=rep(5,0) for (i in 1:5) x[i]=2*i+1 Les fonctions du type apply(),replicate() évitent d’écrire des boucles.

Boucles et exécutions conditionnelles if(expr1) expr2 else expr3 avec pour expr1 une expression de type logique, Remarques: Plusieurs commandes entre accolades: {expr;… ;expr n} Les exécutions conditionnelles (if .. else) peuvent quelquefois être remplacées efficacement par des indexations logiques.

Exemple: y=numeric(length(x)); for(i in 1:length(x)) {if(x[i]==b)y[i]=0 else y[i]=1} Remarque: L'exemple précédent peut être remplacé par: y[x==b]=0; y[x!=b]=1;

Des Expressions de type logique utilisant des opérateurs relationnels: x<y;x>y;x<=y;x>=y;x==y; x!=y ou bien (et) les opérateurs NOT ! AND & OR I

if(expr1) expr2 else expr3 Le résultat de cette commande est expr2 si expr1 vaut TRUE et expr3 si expr1 vaut FALSE Il existe une version vectorisée de cette commande: ifelse(condition, a,b)

exemples x=1; if(x<5) y=1 else y=2 y; [1] 1 x=1:10

Suite: ifelse(condition, a,b) ifelse(x<5,1,2) [1] 1 1 1 1 2 2 2 2 2 2 y=ifelse(x<5,1,2);y;

repeat expr while(condition) La commande break peut être utilisée pour terminer une boucle quelconque, et c’est le seul moyen pour interrompre une boucle avec repeat La commande next peut être utilisée pour pour interrompre une boucle particulière et passer aux instructions suivant next

Programmer avec R Point fort:la programmation d'une suite d'analyses qui seront exécutées successivement Un programme en R sera écrit dans un fichier ascii et sauvegardé avec l'extension .R Exemple: tracer le même graphe pour 3 espèces d'oiseaux

Programme 1 layout(matrix(1:3,3,1)) data=read.table(« swal.dat ») plot(data$v1,data$v2, type= »l ») Title(« swallow ») data=read.table(« wren.dat ») Title(« wren ») data=read.table(« dunn.dat ») Title(« dunn »)...

Programme 2:les noms de fichier et d'especes sont utilises comme des variables layout(matrix(1:3,3,1)) species=c(«swallow »,»wren »,»dunnock») file=c(« swal.dat »,»wren.dat »,»dunn.d at ») for(i in 1:length(species)) {data=read.table(file[i]) plot(data$v1,data$v2,type= »l ») title(species[i]) }

Les fonctions On peut écrire ses propres fonctions: Pour pouvoir être exécutée une fonction doit être chargée en mémoire, cela peut se faire de plusieurs façons: Entrer les lignes au clavier, ou les copier /coller à partir d’un éditeur Enregistrer la fonction dans un fichier ascii et la charger par la commande source() Si on souhaite que la fonction soit chargée au démarrage, il peut les enregistrer dans un workspace avec l’extension .Rdata qui sera chargé en mémoire s’il est localisé dans le répertoire de travail de démarrage getwd(): indique le repertoire de travail

Exemple de fonction carre=function(x){print(x*x)} carre(3);9 Il y a deux manières de spécifier les arguments à une fonction: par leur position par leur nom Exemple: fonc=function(arg1,arg2,arg3) fonc(x,y,z); fonc(arg2=y,arg1=x,arg3=z);

print() pour afficher le contenu d ’un objet dans une fonction Arguments par défaut Exemple: Moy.et.etype=function(x=1:10) {moyenne=mean(x); etype=sd(x); print(c(moyenne,etype)); } moy.et.etype() [1] 5.500000 3.027650 moy.et.etype(1:100) [1] 50.50000 29.01149

Programme 3 myfun=function(S,F) { data=read.table(F) plot(data$v1,data$v2,type= »l ») title(S) }; layout(matrix(1:3,3,1) myfun(« swallow », »sawl.dat »)...

Les fonctions On peut écrire ses propres fonctions: Pour pouvoir être exécutée une fonction doit être chargée en mémoire, cela peut se faire de plusieurs façons: Entrer les lignes au clavier, ou les copier /coller à partir d’un éditeur Enregistrer la fonction dans un fichier ascii et la charger par la commande source() Si on souhaite que la fonction soit chargée au démarrage, on peut les enregistrer dans un workspace avec l’extension .Rdata qui sera chargé en mémoire s’il est localisé dans le répertoire de travail de démarrage getwd(): indique le repertoire de travail

nom=function(arg1,arg2,…)expression Où expression peut être un groupe d’expressions rassemblées entre accolades: nom=function(arg1,arg2,…) {expression1, expression2, expression3,… }

Fonctions (suite) print() pour afficher le contenu d ’un objet dans une fonction Le résultat de la fonction sera en général la dernière valeur calculée. Un appel de fonction est fait de la façon suivante: nom(arg1,arg2,…)

Exemples carre=function(x){print(x*x)} carre(3);9 Il y a deux manières de spécifier les arguments à une fonction: par leur position par leur nom fonc=function(arg1,arg2,arg3) fonc(x,y,z); fonc(arg2=y,arg1=x,arg3=z);

Arguments par défaut Exemple: moy.et.etype=function(x=1:10) {moyenne=mean(x); etype=sd(x); print(c(moyenne,etype)); } moy.et.etype() [1] 5.500000 3.027650 moy.et.etype(1:100) [1] 50.50000 29.01149

Tableaux récapitulatifs

Distributions de probabilités classiques suite Arguments additionnels Noms sous R distributions M,n wilcox Wilcoxon shape,scale weibull Weibull min,max unif Uniforme df,ncp t T de student lambda pois Poisson mean,sd norm Normale meanlog,sdlog lnorm Log-normale n,m,k hyper Hypergéométrique prob geom Géométrique

Fonctions mathématiques de base Ecart-type des éléments de x sd(x) Matrice de corrélation si x est une matrice ou un data frame cor(x) Variance des éléments de x(calculée sur n-1) matrice des var et cov si x est une matrice var(x) ou cov(x) Médiane des éléments de x median(x) Moyenne des éléments de x mean(x) Idem que c(min,max) range(x) Retourne l’indice du minimum des éléments de x which.min(x) Retourne l’indice du maximum des éléments de x which.max(x) Maximum, minimum des éléments de x max(x), min(x) Produit des éléments de x prod(x) Somme des éléments de x sum(x)

Autres fonctions Retourne un vecteur de meme longueur que x contenant les éléments de x qui sont dans y match(x,y) Idem pour produit, minimum, maximum cumprod(), cummin(),cummax() Un vecteur dont le ieme élément est la somme de x[1]à x[i] cumsum(x) Un vecteur dont le iéme élément est le minimum entre x[i] et y[i] pmin(x,y,…) Centre et réduit les données scale(x) Range les éléments de x rank(x) Trie les éléments de x dans l’ordre ascendant sort(x) Inverse l’ordre des éléments de x rev(x) Arrondit les éléments de x à n chiffres après la virgule round(x,n)

encore… Ré-échantillonnage aléatoire et sans remise de size éléments dans x sample(x,size) Retourne une selection de x en fonction de critères subset() Retourne un tableau des effectifs des différentes valeurs de x table() Si x est un vecteur ou un data frame, retourne un objet similaire mais avec les éléments duppliqués supprimés unique() Retourne un message d’erreur si x contient au moins un NA na.fail() Supprime les observations avec données manquantes na.omit() Coefficient binomial Cnk choose(n,k)