Bienvenu(e)! Identification Créer un nouveau profil

Recherche avancée

SAS: transformer des charactères en numériques

Envoyé par Sophie 
SAS: transformer des charactères en numériques
25 janvier 2008, 22:43
Bonjour,

J'aurais aimé savoir comment on fait pour transformer une variable déclarée en charactère en variable numérique, avec le logiciel SAS.
En effet, j'ai un fichier de données, ayant un montant XX,XX mais ce montant est déclaré comme étant des caractères alors que c'est du numérique.

D'autre part, j'aurais également savoir comment on faisait pr demander à SAS d'ignorer une modalité pr une variable. En effet, dans mon fichier, j'ai un nombre de pièces pour un logement, et j'ai une valeur aberrante égale à 0. J'aimerais ignorer le 0.

Je vous remercie par avance pour votre aide.
Re: SAS: transformer des charactères en numériques
28 janvier 2008, 12:22
J'ai trouvé la solution ce matin.

Alors si ca peut vous servir, c'est:

1. Pour la tranformation d'une variable caractère en numérique:

data Habitat.habEssai;
set Habitat.hab;

/* on créé une variable MTCOFM1 et on lui donne le format que l'on veut */
length MTCOFM1 3;
/* on attribue les valeurs de notre variable initiale MTCOFM à la variable créée MTCOFM1 */
MTCOFM1=MTCOFM;
run;

2. Pour ignorer les 0 pr une variable où le 0 correspd à une valeur aberrante */

data Habitat.hab;
set Habitat.hab;
/* si le nombre de pièces (pour une variable que l'on créé) est différent de 0 alors copier les valeurs de la variable NBRPIE (variable initiale) dans la variable que l'on vient juste de créer (NBRPIE1rec) */
if NBRPIE1 NE 0 then
NBRPIE1rec=NBRPIE1;
run;

Voilà!
Re: SAS: transformer des charactères en numériques
18 février 2008, 10:51
Merci beaucoup Sophie ! Tu nous as bien aidé !
Nico
Re: SAS: transformer des charactères en numériques
10 mars 2008, 14:47
Pour le 1 tu as plus simple :
pas besoin de creer 1 variable supplémentaire, ainsi pas besoin de modifier les éventuels pgm qui suivent.
Pour la 2, tu ne voulais pas "simplement" remplacer les 0 par des . ??

Data toto;
input VAR $3. Temp ;
Cards;
123 0
456 1
789 2
;
run;

Data titi (Rename = (Var1 = Var));
Set toto;
Format Var1 3.;
Var1 = var;

/* Question 2 */
if temp EQ 0 then temp=.;


Drop var;
run;
Re: SAS: transformer des charactères en numériques
28 mars 2008, 15:22
J'arrive après la bataille mais bon... pour transformer une variable caractère en numérique, il me semble que tu as la fonction INPUT. Et pour transformer une variable numérique en variable caractère, tu as la fonction PUT.
Re: SAS: transformer des charactères en numériques
11 avril 2008, 11:18
Le PUT et INPUT sont effectivement les mieux.
D'autres utilisent pour le passage de caractère à numérique une simple multiplication par 1, chacun son truc...
Re: SAS: transformer des charactères en numériques
25 décembre 2008, 01:03
Blas écrivait:

Bonjour,

J'ai un petit probleme: j'ai deja une table sas qui contient une variable Heure mais en format Caractère '22:12:30' je voudarai savoir comment je peux convertire cette variable en une autre mais de format Time 22:12:30
Merci d'avance pour votre aide presieuse.
Re: SAS: transformer des charactères en numériques
29 décembre 2008, 09:43
Bonjour,


Pour transformer une variable Kère en variable numérique, il faut utiliser le "input".
Pour une variable heure, il faut prendre l'informat "time.", comme ceci.

data table;
var = "22:12:30";
var2 = input(var, time9.);
format var2 time9.;
run;

J'espère que ceci te convient...
Sophie
Re: SAS: transformer des charactères en numériques
10 janvier 2009, 02:58
MERCI SOPHIE POUR VOTE AIDE.
TON CODE FONCTIONE BIEN,
j'ai pu importé ma table au depart avec le bon format en utilisant la "informat"et"format";

bonne année 2009!!!
Re: SAS: transformer des charactères en numériques
05 août 2009, 11:40
Bonjour à tous,

j'ai rencontré un souci sous SAS pour transformer une variable caractère en numérique à cause des virgules, voici comment j'ai fait pour résoudre ce problème:

data toto;
set titi;
var_num=(tranwrd(var_car,",","."))*1;
run;
Re: SAS: transformer des charactères en numériques
11 octobre 2011, 14:36
Salut merci beaucoup pour le truc de multiplier par un je ne connaissais pas c'est vraiment nickel simple et rapide! Vous m'avez sauvé la vie winking smiley
Re: SAS: transformer des charactères en numériques
12 mai 2012, 19:49
Bonjour, je cherche à recoder une variable mais sas me dit que mon dernier programme ne marche pas . Quelqu'un pourrait t-il me dire pourquoi?

Proc Format;
value $ rcode
'11'='IDF'
'21'='CHA'
'22'='PIC'
'23'='HAU'
'24'='CEN'
'25'='BAS'
'26'='BOU'
'31'='NOR'
'41'='LOR'
'42'='ALS'
'43'='FRA'
'52'='PAY'
'53'='BRE'
'54'='POI'
'72'='AQU'
'73'='MID'
'74'='LIM'
'82'='RHO'
'83'='AUV'
'91'='LAN'
'93'='PRO'
'94'='COR';
run;
FORMAT REGIO rcode.;
run;
data toto;
format regio rcode.;
run;

SAS cherche sur quelle table que vous voulez appliquer le format rcode. Bien sûr, toto doit contenir la variable regio.
Re: SAS: transformer des charactères en numériques
25 mai 2012, 09:49
Vanessa, moi je te propose plutôt de faire :

Data nom_table;
set nom_table;
if nom_variable = 11 then nom_variable = 'IDF';
[ainsi de suite pour toutes les variable que tu souhaite recodée]
run;
Re: SAS: transformer des charactères en numériques
04 septembre 2013, 08:35
Il s'agit d'un paragraphe, vous pouvez porter directement aller Xia t Taiwan, dans la rue, inondé de sucer Pierre comme par magie et a pris @#$%& dunk basse homme immédiatement les gens attention de Converse filles exclusif Chuck Taylor All Star : cuivre antique et or rose et argent lumineux et Matt Black, série très avec brillante degrés de texture en métal corps de Muntjac de chaussures, mélangent plate-forme modèles peuvent être décrits comme beau intégralement,@#$%& dunk sky hautes france sans apporté du souffle à la mode et sentiment de nouveauté, pour les filles d'Asie apporte texture pleine pop de l'automne.
Auteur:

Votre adresse électronique:


Sujet:


Mesure anti-SPAM :
Résoudre la question mathématique et insérer la réponse dans le champs approprié. Cette mesure sert à bloquer les robots informatiques qui tentent de polluer ce site.
Question : que font 6 plus 15 ?
Message: