Outils statistiques

SAS

  • Lancement par la commande sas (interface graphique en français)
  • Lancement par la commande sas_en (interface graphique en anglais)

Version 9.4

La nouvelle version 9.4 est accessible sur dga20 (et 2 noeuds du cluster) par ces commandes.

Les nouveautés concernant SAS 9.4 de BASE sont ici :
http://support.sas.com/documentation/cdl/en/whatsnew/64788/HTML/default/viewer.htm#n14c8glgh3j7hxn1b1byjs3sqnvz.htm

L'application SAS/Analyst est remplacée par le module Enterprise Guide (sous Windows).

PresentationsProgrammesSAS.zip : présentations et exemples de la journée d'information (décembre 2013 et janvier 2014) sur les nouveautées de la version 9.4 et sur Enterprise Guide.
SAS-CTIG-Bilan-formation.pdf : bilan des présentations et formations.

Pour échanger au sujet de SAS, utilisez le forum SAS.
Les informations échangées concernant les nouveautées de la version 9.4 sur le forum seront rassemblées sur la page SAS Migration vers la version 9.4 de ce wiki.

Enterprise Guide

SAS Enterprise Guide (SAS-EG) est une interface utilisateur alternative au Display Manager. SAS-EG n'existe que pour Windows (version supérieure à XP).

Le binaire d’installation est le même pour les systèmes 32 ou 64 bits. 2 versions sont mises à disposition sur dga20.jouy.inra.fr dans :
  • /bao/SAS_Enterprise_Guide_Independent_Installer/6_11 pour la version 6.1
    Il y a une documentation d'installation (SAS-EG-installation-dga20.pdf) dans le répertoire bao/SAS_Enterprise_Guide_Independent_Installer/6_11
  • /bao/SAS_Enterprise_Guide_Independent_Installer/7_11 pour la version 7.1
    version conseillée pour une installation sous Windows 10
    sous ce même répertoire vous trouverez le fichier lien_vers_doc_install.txt qui contient l'URL de la documentation d'installation fournie par SAS

Ils peuvent être téléchargés par FTP (sftp ou scp), leur taille est d'environ 400 Mo, le logiciel SAS-EG doit disposer d’au moins 1,5 Go de libre pour pouvoir s’installer.

Utilisation
  • Il faut déclarer à son identifiant LDAP-CTIG afin qu’il soit connu comme utilisateur de SAS avec Enterprise Guide.
  • SAS-EG n’est utilisable qu’à partir des réseaux connus du CTIG.

Pour débuter

http://www.cmi.univ-mrs.fr/~mcroubau/tutorial.html
Pour les vrais débutants en programmation SAS, les bases.
http://www.miage.ups-tlse.fr/intranet/cours/l3/TPDecouverteSAS.pdf
Un cours sur le site de la MIAGE de Toulouse : 122 pages, date de 2009. Bonne introduction au display manager et aux bases (les 25 premières pages).

Et aussi :

ftp://ftp.u-bourgogne.fr/pub/sas/DOCSAS05.pdf
27 pages, assez verbeux, date de 2005.
http://math.univ-lille1.fr/~jacques/Download/Cours/Intro-SAS.pdf
Récent (version 9.2), 19 pages dont 7 pages sur les bases puis introduction aux procédures statistiques élémentaires.
http://www.math.univ-toulouse.fr/~besse/pub/saspdf.pdf
La page de Philippe Besse, « SAS sous Unix: Logiciel hermétique pour système ouvert » : 93 pages ; date de 2001 ; La même chose que le précédent mais en beaucoup plus complet. Fait encore référence.

Pour utiliser la procédure SQL de SAS:

Voici une présentation qui vous donnera tous les éléments pour exploiter toutes les possibilités offertes par la proc SQL de SAS pour l'examen des données, la fusion de table ou la création de macro-variables SAS:
PresentationSQL_SAS_mars2014.pdf

Pour tous les utilisateurs :

http://sas.developpez.com/
Un forum français autour de SAS à découvrir, avec aussi des tutoriels et beaucoup plus !

Note sur le répertoire de travail temporaire

Par défaut , les directory de travail de SAS sont créées dans le filesystem /scratch (chaque utilisateur ayant une directory personnelle dans ce filesystem). Il peut arriver que la taille des directory de travail dépasse la taille de ce filesystem. Il faut alors lancer SAS avec le paramètre work suivi du nom d'un répertoire existant de façon à changer la destination des directory de travail :

exemple pour l'utilisateur jdupond appartenant au groupe bovins :
sas -work /travail/jdupond/

Pour DGA12, le répertoire de travail est à placer dans le file-system /travail.

Il est possible d'automatiser cette étape lors du lancement de sas en se créant un alias dans son fichier .bashrc. Il suffit d'ajouter la ligne suivante dans .bashrc:

alias monsas='if ! [ -d /travail/identifiantLDAP ]; then mkdir /travail/identifiantLDAP; fi; sas -nonews -work /travail/identifiantLDAP & '

Dans un terminal, il suffira alors de taper monsas pour que SAS s'ouvre avec la work au bon endroit.
Cette ligne permet aussi de créer (si il n'existe pas encore) un répertoire avec votre identifiantLDAP dans le répertoire /travail pour mieux s'y retrouver si un souci apparaît.

Problème de mémoire

message d'erreur :

ERROR: Unable to allocate sufficient memory: a request for 18722659K bytes exceeded the 103706K available.
       Note that the deficit amount may not be the amount of memory needed for a successful run, since it
       does not reflect subsequent allocations by this or other processes.
ERROR: The SAS System stopped processing this step because of insufficient memory.

l'option memsize de SAS (mise à l'appel de SAS) permet de demander plus que la mémoire attribuée par défaut (103 Mo).
A priori ici 18 Go de mémoire sont demandés.

La lettre d'info technique

Tous les mois SAS publie des lettres d'informations concernant l'ensemble de ses produits :
Mars 2013, PROC DATASETS et plus ...
Voir les lettres suivantes sur le forum sas : ici.

Trucs et astuces pour faciliter votre utilisation de SAS

Pour avoir des options par défaut dans SAS

Mettre dans un fichier nommé autoexec.sas dans sa racine (/home/identifiantLDAP) contenant les lignes ci-dessous (entre les =+=+) (à adapter selon vos envies)

Au lancement de SAS, SAS execute par défaut ce programme qui permet de définir donc des options par défaut. Exemples de ces options souvent répétées en début de programme:

ls <=> linesize
ps <=> pagesize,
nonumber <=> pas de numéro de pages dans les outputs,
nodate <=> ni de date,
formdlim <=> les sauts de page sont remplacés par le caractère entre ' ',
dm <=> display manager,
pgm <=> fenetre program editor,
log <=> fenetre log,
output <=> fenetre output,
color background white => pour avoir un fond blanc,
odsresults cancel => pour fermer automatiquement la fenetre results au démarrage,
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
options ls=165 ps=75 nonumber nodate formdlim='-';
dm 'pgm; color background white;';
dm 'log; color background white;';
dm 'output; color background white;';
dm 'odsresults' cancel; * fermeture de la fenetre results;
ods results off; * pour empecher l ouverture automatique des ODS PDF, HTML et RTF generes par le programme;
dm 'explorer'; * ouverture d une deuxieme fenetre avec treeview;

libname malibrairie "/monrepertoire/monsousrepertoire";

Paramétrages des préférences d utilisation de SAS

Plusieurs paramètres désactivés par défaut dans SAS peuvent vous faciliter la vie.

Dans Options/Preferences et l'onglet DMS

  • activer "Save Settings on Exit" pour que SAS enregistre la disposition de vos fenêtres pour qu'elles réapparaissent tel quel à la réouverture de SAS
  • pour éviter que SAS9.2 n'ouvre le résultat des ODS (PDF, HTML ou RTF) automatiquement à leur génération, vous pouvez décocher la case "View results as they are generated". Vous pouvez aussi obtenir le même résultat en tapant: ods results off au début de votre programme SAS ou dans votre autoexec.sas
  • possibilité de réduire le temps entre les sauvegardes automatiques avec les minutes de backup (création du fichier pgm.asv)

Dans Options/Program Editor

  • dans Editing, possibilité de lui demander de pouvoir passer le reste de la ligne sur la ligne du dessous en tapant "Enter" (cochez Split lines on a carriage return)
  • dans Editing, possibilité de désactiver la disparition du texte lors du submit (désactiver "Clear text on submit").
  • dans Appearance, possibilité de modifier l'apparence du texte interprété par SAS (; en rouge par exemple).

Touches Fonctions

Pour se faciliter la vie, il est possible de configurer les touches Fonctions:

Tapez F2 ou allez dans Options/Tools/keys et recopiez la configuration suivante:

F1 help
F2 keys
F3 log; clear; out; clear; pgm; => permet de nettoyer toutes les fenêtres et redonner la main sur la fenetre programme
F4 gsubmit buf=default; => fait un submit clipboard sans aller dans le menu avec la souris
F5 submit; pgm; recall; => fait un submit et rappelle le programme effacé
(retirer recall si vous avez désactivé la disparition du texte lors du submit dans le paragraphe 2!)
F6
F7 backward cursor => la ligne sur laquelle se situe le curseur passe en haut de l'écran
F8 forward cursor => la ligne sur laquelle se situe le curseur passe en bas de l'écran
F9 odsresults; cancel; => ferme la fenêtre des résultats
F10 odsresults; clear; => nettoie les résultats
F11 left
F12 right
Shft F1
Shft F2 keys
Shft F3
Shft F4
Shft F5
Shft F6
Shft F7
Shft F8
Shft F9 pmenu
Shft F10
Shft F11
Shft F12
Ctrl A next
Ctrl B prevwind
Ctrl C copy
Ctrl D
Ctrl E clear
Ctrl F
Ctrl G
Ctrl H
Ctrl I
Ctrl J
Ctrl K cut
Ctrl L log
Ctrl M mark
Ctrl N
Ctrl O output
Ctrl P pgm
Ctrl Q
Ctrl R
Ctrl S pgm; save
Ctrl T
Ctrl U unmark
Ctrl V paste
Ctrl W command window
Ctrl Y command
Ctrl Z undo
Esc
Print
ScrLk
Pause
Home home
End => vide ==> pas de lancement submit par défaut!!!
PageUp backward
PageDown forward
----

FAQ

Ouverture non demandée de fichiers pdf ou html par SAS

Sous DGA12, si vous générez des pdf ou des html dans vos programmes, SAS ouvre automatiquement les fichiers à la fin de l'execution des programmes.
Pour éviter cela, il faut taper "ods results off" au début du programme ou insérer cette ligne dans votre autoexec.sas


Problème de comptabilité avec Les librairies SAS V6

Les librairies SAS V6 (suffixe .ssd01) créées sur dga2 ne sont pas compatibles avec SAS 9.2 Linux 64 bits ( http://support.sas.com/kb/34/762.html ).

Sur dga2, il faut convertir les librairies SAS V6 en librairies SAS V9. Soit en recopiant, sur dga2, avec SAS les tables concernées dans une nouvelle librairie, soit avec la procédure CPORT sur dga2 puis la procédure CIMPORT sur dga12 pour la mettre au format V9.

Pour repérer les tables suffixées par ssd01, utilisez : find . -name '*.ssd01'


Session manager supprimé

La petite fenêtre du session manager ne se lance plus par défaut (cette fenêtre permet d'interrompre l'exécution d'un progammr SAS dans le display manager). Pour sortir du Display Manager de SAS utiliser ”→ File → Exit …” ou la commande “bye” dans la ToolBox.
En effet, les boutons “interrupt” et “terminate” du session manager de SAS plantent toute la session FreeNX. Quand on se reconnecte le process sas est toujours en tache de fond. Il peut arriver qu'on ne puisse pas se reconnecter de suite avec FreeNX (connection timeout), dans ce cas se connecter en ssh (avec putty sous Windows) puis tuer toutes les sessions avec la commande “kill -9 -1”.


Configuration Xming ou cygwin avec SAS unix : On ne peut pas activer en même temps le pavé numérique et les touches (backspace, insertion, suppression).

A la racine du home directory de l'utilisateur, créer un fichier du nom de "SAS" et contenant les lignes suivantes :

SAS.keyboardTranslations: #override \
Any<Key>osfBackSpace: sas-delete-prev-char() \n\
Any<Key>osfDelete: sas-delete-char() \n\
Any<Key>osfInsert: sas-toggle-insert()

Il doit également être possible d'utiliser le module "Keys" du programme "reshelper" pour rentrer ces informations...

Voir la réponse à la fin de la conversation complète sur le forum du PEPI-SysAdmin.


Un programme sas créant des graphiques (copiés dans un .rtf) fonctionne sans pb en interactif mais pose pb sinon: "341:ERROR: Device was not specified.". Que doit on spécifier comme device?

En batch, il faut préciser l'option -noterminal au lancement de SAS

sas -noterminal ....


R

La version la plus récente de R se lance par la commande : R .
Les autres versions présentes se lancent par la commande R-1 et R-2 .

Le mode de gestion des packages R a été changé : tous les utilisateurs peuvent installer des packages dans le dossier /bao/lib_R et ils seront disponibles dans R (il faut se reconnecter pour que les modifications soient prises en compte).

Un forum R est disponible pour échanger entre utilisateurs autour de R, c'est ici.

Aide à l'utilisation de R

Un cycle de présentations pour faciliter l'utilisation de R a été donné par Chris Hoze, Andrea Rau et Denis Laloë en mars et avril 2016 lors d'eCafés GABI.



PresentationsProgrammesSAS.zip (2,594 Mo) Sylvie Nugier, 20/01/2014 14:11

SAS-CTIG-Bilan-formation.pdf - Bilan formation nouveauté 9.4 et EG du 6/12/13 au 16/01/14 (396,378 ko) Sylvie Nugier, 03/02/2014 14:49

PresentationSQL_SAS_mars2014.pdf (1,084 Mo) Eric Venot, 14/03/2014 16:05

eCafé_R_ggplot2_Rau_05avril2016.zip (1,166 Mo) Eric Venot, 11/04/2016 13:21

eCafé_R_PremierPas_Hoze_15mars2016.zip (2,802 Mo) Eric Venot, 11/04/2016 13:21

eCafé_R_markdown_Laloe_29mars2016.zip (2,085 Mo) Eric Venot, 11/04/2016 13:21

eCafé_R_Rau_01avril2016.zip (788,124 ko) Eric Venot, 11/04/2016 13:21

eCafe_Ranova_DLA_8mars2016.pdf (2,014 Mo) Eric Venot, 11/04/2016 13:21