Analyse non-paramétrique des revenus des candidats

Ce code est également disponible en : Deutsch English Español
Niveau de difficulté
Débutant
Publié le :
Le script commence par supprimer toute version existante de la table 'repincome' dans la bibliothèque WORK. Il définit ensuite un FILENAME pour pointer vers un fichier CSV externe contenant les données de revenus. La procédure PROC IMPORT est utilisée pour charger ce fichier CSV dans un dataset SAS© temporaire nommé WORK.repincome. Après l'importation, PROC CONTENTS affiche les métadonnées du dataset. Deux graphiques sont générés avec PROC SGPLOT : un diagramme en boîte des revenus par candidat et un nuage de points des revenus contre les candidats. Ensuite, le script crée trois datasets filtrés (TrumpCarson, TrumpCruz, CruzCarson) en excluant un candidat spécifique à chaque fois. Pour chaque paire de candidats, un test non-paramétrique de Wilcoxon (PROC NPAR1WAY) est effectué pour comparer les médianes de revenus, avec un niveau de signification alpha de 0.05. Les titres des tests sont personnalisés pour chaque comparaison.
Analyse des données

Type : EXTERNE


Les données proviennent d'un fichier CSV externe ('/home/gsturrock0/STAT1/RepIncome..csv') importé via PROC IMPORT. Le script ne contient pas de données internes (datalines/cards) ni n'utilise de données SASHELP.

1 Bloc de code
PROC IMPORT Data
Explication :
Ce bloc initialise l'environnement et importe les données. La macro %web_drop_table supprime une table SAS existante. FILENAME associe un nom logique (REFFILE) au chemin du fichier CSV externe. PROC IMPORT lit ce fichier CSV et le convertit en un dataset SAS nommé WORK.repincome, en utilisant la première ligne comme noms de variables (GETNAMES=YES). PROC CONTENTS affiche les métadonnées du dataset importé. Enfin, %web_open_table est utilisée pour visualiser la table dans SAS Studio.
Copié !
1%web_drop_table(WORK.repincome);
2 
3FILENAME REFFILE '/home/myFolder/STAT1/RepIncome..csv';
4 
5PROC IMPORT DATAFILE=REFFILE
6 DBMS=CSV
7 OUT=WORK.repincome;
8 GETNAMES=YES;
9RUN;
10 
11PROC CONTENTS DATA=WORK.repincome; RUN;
12 
13%web_open_table(WORK.repincome);
2 Bloc de code
PROC SGPLOT
Explication :
Ce bloc est dédié à la visualisation exploratoire des données. Les deux appels à PROC SGPLOT créent des graphiques : le premier génère un diagramme en boîte (vbox) des revenus ('income') pour chaque candidat ('category=candidate'), et le second produit un nuage de points (scatter) des revenus ('y=income') en fonction du candidat ('x=candidate'). Ces graphiques aident à comprendre la distribution et la relation entre les revenus et les candidats.
Copié !
1PROC SGPLOT DATA=work.repincome;
2vbox income / category=candidate;
3RUN;
4 
5PROC SGPLOT DATA=work.repincome;
6scatter y=income x=candidate;
7RUN;
3 Bloc de code
DATA STEP / PROC NPAR1WAY Data
Explication :
Ce bloc se concentre sur la comparaison entre 'Trump' et 'Carson'. Une étape DATA crée un nouveau dataset 'TrumpCarson' en filtrant 'work.repincome' pour inclure uniquement les observations où le 'code' du candidat n'est pas '3' (excluant ainsi le troisième candidat). Ensuite, PROC NPAR1WAY exécute un test de Wilcoxon non-paramétrique sur la variable 'income', en utilisant 'candidate' comme variable de classification, avec un niveau de signification (alpha) de 0.05. Le test exact de Wilcoxon est demandé, avec l'estimation de la différence Hodges-Lehmann (HL). Un titre spécifique 'Trump Carson' est ajouté au rapport de sortie.
Copié !
1*Trump Carson comparison;
2DATA TrumpCarson; SET work.repincome;
3 IF code NE 3;
4RUN;
5 
6PROC NPAR1WAY DATA=TrumpCarson wilcoxon alpha=.05;
7var income;
8class candidate;
9exact wilcoxon HL;
10title 'Trump Carson';
11RUN;
12title;
4 Bloc de code
DATA STEP / PROC NPAR1WAY Data
Explication :
Similaire au bloc précédent, ce segment prépare et analyse les données pour la comparaison 'Trump' contre 'Cruz'. Une étape DATA filtre 'work.repincome' pour créer 'TrumpCruz', excluant le candidat avec le 'code' '2'. PROC NPAR1WAY est ensuite appelée pour effectuer un test de Wilcoxon sur 'income' par 'candidate', avec les mêmes paramètres d'analyse (alpha=0.05, Wilcoxon exact avec HL). Le rapport est titré 'Trump Cruz'.
Copié !
1*Trump Cruz Comparison;
2DATA TrumpCruz; SET work.repincome;
3 IF code NE 2;
4RUN;
5 
6PROC NPAR1WAY DATA=TrumpCruz wilcoxon alpha=.05;
7var income;
8class candidate;
9exact wilcoxon HL;
10title 'Trump Cruz';
11RUN;
12title;
5 Bloc de code
DATA STEP / PROC NPAR1WAY Data
Explication :
Ce dernier bloc effectue la comparaison entre 'Cruz' et 'Carson'. Un dataset 'CruzCarson' est créé en filtrant 'work.repincome' pour exclure le candidat avec le 'code' '1'. Ensuite, PROC NPAR1WAY est utilisée pour un test de Wilcoxon sur les revenus ('income') des candidats restants ('candidate'), en appliquant les mêmes spécifications que les analyses précédentes (alpha=0.05, Wilcoxon exact avec HL). Le titre 'Cruz Carson' est attribué au résultat de l'analyse.
Copié !
1*Cruz Carson comparison;
2DATA CruzCarson; SET work.repincome;
3 IF code NE 1;
4RUN;
5 
6PROC NPAR1WAY DATA=CruzCarson wilcoxon alpha=.05;
7var income;
8class candidate;
9exact wilcoxon HL;
10title 'Cruz Carson';
11RUN;
12title;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.