Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > SAS Base
SAS Base Forum d'entraide sur SAS base : étape data, procédures non statistiques, procédures non graphiques, SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/05/2011, 18h10   #1
Invité de passage
 
Inscription : mai 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 5
Points : 0
Points : 0
Par défaut Besoin d'aide pour exercice SAS

Bonjour, j'aurais besoin d'aide pour un exercice sur SAS s'il vous plait.

Le fichier de données 'Fleurs.dat' de type texte, situé dans le répertoire 'D:\Plantes, contient les variables "Nom", "Type", "Age".
Les premières lignes sont les suivantes :
Rose;A;3
Muguet;A;4
Coquelicot;B;2
Tulipe;C;1

1/ Ecrire le programme SAS permettant d'importer les données (sa c'est fait)
2/ Ecrire une procédure permettant d'afficher le "nom" et le "type", uniquement pour les enregistrements dont la variable "Type" contient une valeur incorrecte.
3/ Ecrire une procédure permettant d'obtenir le pourcentage de chaque modalité de la variable "Type".
4/ La variable "type" doit contenir les modalités A,B,C. Créer trois variables booléennes à partir de ces valeurs
5/ La variable "age" peut contenir des valeurs manquantes. Créer une variable Age0 prenant pour valeur "Jeune" si la fleur a 5 mois ou moins, "adulte" à partir de 6 mois.

Merci par avance pour votre aide.
TheGirly
TheGirly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 18h15   #2
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 006
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 006
Points : 1 703
Points : 1 703
tu veux tricher ?
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 18h20   #3
Invité de passage
 
Inscription : mai 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 5
Points : 0
Points : 0
Non, comprendre !
TheGirly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 21h43   #4
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 467
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 467
Points : 2 823
Points : 2 823
Bonsoir.
Nous sommes bien sûr tous prêts à t'aider à comprendre. Mais on ne va pas te donner la solution toute rôtie, avec les explications en bonus. Il faut que tu y mettes aussi du tien.
Citation:
4.13. Lycéen, collégien, étudiant, (bref un apprenti développeur)
Vous êtes les bienvenus ici pour vous former

Nous ne sommes pas là pour faire vos exercices.
Entendez par là que nous serons bien évidemment tout à fait d'accord de vous aider à résoudre votre problème, pour autant que vous fassiez vous-même des efforts.
Postez votre question, mais proposez également un début de solution, un bout de code, etc. En aucun cas, nous ne ferons le travail à votre place.

Merci de votre compréhension.
Cette citation est extraite des règles d'utilisation du Forum Développez.

Si tu as commencé à programmer une solution, à ta disposition pour en discuter.
Bon courage.
Olivier
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 30
Vieux 27/05/2011, 15h22   #5
Invité de passage
 
Inscription : mai 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 5
Points : 0
Points : 0
Q2 :
Code :
1
2
3
Proc print DATA=fleurs;
BY nom type;
run;
Pour la question 3,
Code :
1
2
3
proc freq DATA = fleurs;
BY type IN percent;
run;
Pour la question n°4, je ne sais pas comment avoir le bon programme, mais j'ai fait :
Code :
1
2
3
IF 'Type' = 'A' then Type = 0;
IF 'Type' = 'B' then Type = 1;
IF 'Type' = 'C' then Type = 2;

Q5/
Code :
1
2
3
4
5
DATA Age0;
SET fleurs;
IF age < 5 then age = 'Jeune';
IF age > 6 then age = 'Adulte'
run;
Voila je ne suis vraiment pas experte et je sais que mes réponses ne sont pas très bonnes ...

Merci par avance
TheGirly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 19h48   #6
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 956
Détails du profil
Informations personnelles :
Nom : Homme Brice Beare
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Paris

Informations forums :
Inscription : janvier 2011
Messages : 956
Points : 1 366
Points : 1 366
Salut,
J'espere que ça repondra à ta demande, je n'ai pas du tout chercher à comprendre ton programme.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
DATA Fleurs; 
INPUT Nom $ Type $ Age; 
DATALINES; 
Rose       A 3 
Muguet     A 4 
Coquelicot B 2 
Tulipe     C 1 
Dahlia     $ 9  
Cactus     C $  
; RUN; 
 
/* question 1*/ 
DATA 
Fleurs2; 
SET Fleurs; 
IF Type="$" then output; 
run; 
 /* qestion 2*/
proc freq DATA=Fleurs; 
TABLES Type/missing out=freq; 
run;  
 
 /* qestion 3*/
DATA Fleurs; 
SET Fleurs; IF Type="A" then Type_a=1; 
IF Type="B" then Type_b=1; IF Type="C" then Type_c=1; 
run; 
 
 /* qestion 4*/
 
DATA Fleurs; 
SET Fleurs; IF missing(Age) then Age=0; 
IF Age<=5 then Age0="jeune"; 
else Age0="adulte";
run;
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 20h07   #7
Invité de passage
 
Inscription : mai 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 5
Points : 0
Points : 0
Merci pour cette aide.
J'ai changé des choses dans les programmes que vous avez écrit concernant la fréquence au lieu du pourcentage.
Je ne comprend pas dans la question 5 pourquoi vous avez écrit missing(age) then age=0 ?

Merci
TheGirly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 20h17   #8
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 956
Détails du profil
Informations personnelles :
Nom : Homme Brice Beare
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Paris

Informations forums :
Inscription : janvier 2011
Messages : 956
Points : 1 366
Points : 1 366
C'était juste pour remplacer des valeurs manquantes par zéro si jamais il y en a.
C'est pas nécessaire dans ton cas!
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2011, 12h18   #9
Invité de passage
 
Inscription : mai 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 5
Points : 0
Points : 0
D'accord merci
TheGirly est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h40.


 
 
 
 
Partenaires

Hébergement Web