Interfaces utilisateur et rapports statistiques avec R et Sas
Introduction
Chapitre 1. Environnement de travail
Chapitre 2. Le langage R
Chapitre 3. Rapports statistiques
Chapitre 4. Interfaces utilisateur
Chapitre 5. Bases de données et langage Sql
Annexe A : une applette Java
Présentation générale
Installation et exécution
Exemple 1 : parabole
Exemple 2 : notes
Introduction
Options de saisie
Instructions algorithmiques : si, pour...
Sous-programmes
De R à Sas
Exemple 3 : nombres aléatoires
Personnalisation des menus
Annexe B : le logiciel Sas
Page d'accueil Table des matières Niveau supérieur Page précédente Bas de la page Page suivante Démarrage du logiciel Webographie du module Glossaire du module

Instructions algorithmiques : si, pour...

Dans ce cours, nous avons vu à plusieurs reprises comment calculer un avis à partir de notes : avec la fonction ifelse, avec la fonction cut (voir fonctions prédéfinies) ou avec les instructions for et if (voir exercice 4 du chapitre 2, question 4-d).

Pour la fonction ifelse ou la fonction cut, le logiciel n'offre pas de commodité particulière. Il vous permet néanmoins d'insérer du code R dans du code Xml en utilisant la commande code_libre du menu Instructions, puis en complétant le code ainsi créé (ajout en gras) :

...	
<code><![CDATA[
avis = ifelse(moyenne<8,"non", ifelse(moyenne<10,"oral","oui") )
]]></code>
...

Pour les instructions for et if, l'applette dispose de deux commandes spécifiques dans le menu Instructions. Le code ainsi créé (voir écran) doit ensuite être complété :

...	
<pour var="i" debut="1" fin="length(math)" pas="1">
	<instruction nom="si">
		<si condition="moyenne[i] < 8">
			<affectation var="avis[i]" expression="'recale'"/>
		</si>
		<si condition="(moyenne[i] >= 8) ET (moyenne[i] < 10)">
			<affectation var="avis[i]" expression="'oral'"/>
		</si>
		<si condition="moyenne[i] >= 10">
			<affectation var="avis[i]" expression="'admis'"/>
		</si>
	</instruction>
</pour>
...

La traduction vers R(ou Sas) sera assurée si vous adoptez les conventions suivantes :

  • opérateurs ET, OU : ET, OU (en majuscules)
  • >, < : doivent être précédés et suivis par un espace (pour ne pas être confondus avec les balises Xml) ... à moins que vous ne préfériez leur syntaxe Xml (&lt; ou &gt;) !
  • >=, <= : pas de problème de notation, même si < et > sont des caractères spéciaux en Xml

Dernière remarque algorithmique : puisque les alternatives d'un si s'excluent, vous pouvez simplifier les alternatives 2 (condition="moyenne[i] < 10") et 3 (condition="").

Page d'accueil Table des matières Niveau supérieur Page précédente Haut de la page Page suivante Démarrage du logiciel Webographie du module Glossaire du module