werte in sas ersetzen Kommentare

Werbung
News
Artikel
Foren
Join
Projekte
List
Links
Random
Über Redscope
Previous
Next
Startseite
werte in sas ersetzen
17 July, 2012 - 14:35 — glogow
Hallo , bin noch Anfänger und habe das Problem das ich Werte (Beobachtungen) ersetzen will,
wenn bestimmte Kreterien erfüllt sind. Z.B. Code 182 soll durch Code 181 ersetzt werden
sobald noch andere Codes vorhanden sind, ansonsten soll der Code so bleiben.
Log in or register to post comments
Kommentare
Werte ersetzen
19 July, 2012 - 15:34 — JanHeuer
Hallo glogow,
die Beschreibung war zwar etwas ungenau, aber vielleicht hilt dir das ja weiter:
data neu_code;
set alt_code;
if (anderer_code = "irgendwas") and (Code=182) then do;
code = 181;
end;
run;
Schöne Grüße
Jan
Log in or register to post comments
Hallo, vielen Dank für die
Hallo, vielen Dank für die schnelle Hilfe.
Hat leider nicht so geklappt.
Hier ein Beispiel:
Nr code wert
001 104 10
001 110 15
001 182 2
dann soll der Code auf 181 umgesetzt werden.
Nr code wert
002 182 5
hier soll der Code bestehen bleiben.
24 July, 2012 - 11:13 — glogow
Log in or register to post comments
Count distinct
3 September, 2012 - 06:46 — JanHeuer
Hallo Glogow,
ich weiß nicht, ob es noch aktuell ist.
Data test;
input Nr code wert;
cards;
001 104 10
001 110 15
001 182 2
002 182 5
run;
Proc sql;
create table ersetz as
select Nr
, case
when code = 182 and count(distinct code ) > 1 then 181
else code
end as newCode
, code
, Wert
from Test
group by Nr
order by Nr
, newcode
;
quit;
Schöne Grüße
Jan
Log in or register to post comments
Vorschlag
19 July, 2012 - 19:55 — HansKneilmann
Hallo Sabine,
willst Du Werte in einzelnen Feldern ersetzen oder ganze Daten-Sätze?
Wert in einzelnen Feldern ersetzen geht so:
data test_daten;
Code=180; Wert=1; output;
Code=181; Wert=2; output;
Code=182; Wert=3; output;
run;
data neu;
set test_daten;
if code = 182 then do;
code=181;
end;
run;
Oder habe ich die Frage falsch verstanden?
Gruß
Hans Kneilmann
P.S.: Mein Beitrag ist tagsüber so nebenher entstanden und bevor ich ihn speicherte habe ich nicht
nachgeschaut, ob nicht schon jemand geantwortet hat. Deshalb ist er doppelt ...
Log in or register to post comments
Werte in SAS ersetzen
17 September, 2012 - 16:03 — pitlorenz
Hallo Sabine,
hier noch ein kleiner Lösungsvorschlag:
Annahme, dass alle Codes 182 sind ( globale Variable c182=y )
Schritt1 : Sobald ein Code anders ist, c182 (CALL SYMPUT) auf n setzten
Schritt2 : Tauschen der Codes 182 , wenn c182 = n ist.
Viele Grüße
Peter
data test_daten;
Code=181; Wert=1; output;
Code=183; Wert=2; output;
Code=182; Wert=3; output;
run;
%LET c182=y;
data neu;
set test_daten;
IF Code NOT = 182 THEN DO;
CALL SYMPUT ('c182','n');
STOP;
END;
run;
data neu;
set test_daten;
IF Code = 182 AND "&c182" = 'n' THEN Code = 181;
run;
Log in or register to post comments
Herunterladen