Hallo Community, ich schreibe an meiner Masterarbeit und ich soll mit SAS 9.4
1. Eine Datei mit Performanceergebnissen einlesen (ID Individuum, TestType, verschiedene Variablen, TestDatum, TestLocation)
2. Eine Datei mit Verwandschaftsmatrix einlesen (ID Individuum, ID Vater, ID Mutter, Geburtsdatum)
Problem:a. Die ID der Tiere enthalten tlw. characters und verschiedene delimiter -> wie lese ich solche am besten ein?
b. Alle AusgangsIDs sollen in rein numeric ID umgewandelt werden (dabei kommen einige IDs ja mehrfach vor und diese sollen natürlich nur eine neue ID bekommen), sprich alle IDs sollen nur Zahlen enhalten (einheitlich sein)
c. Für einige der Individuen gibt es kein Geburtsdatum, was aber vermutlich auch nicht wichtig ist, da eh nur eine Teilmenge der Verwandschaftsdatei zu der Performance Datei passt
3. Beide Dateien sollen verbunden werden, sodass jedem Individuum aus der 1. Datei nicht nur Prüfungsergebnisse, sondern auch Verwandschaft und Geburtsdatum zugeordnet werden können und jedem Individuum (auch Mutter und Vater) aus der 2. Datei Prüfungsergebnisse zugeordnet werden können.
Ich habe die Performance-Datei importiert mit:
/***Import data***/
DATA Anni2017.Performance;
LENGTH
ID 8
TestType $ 1
Conform 8
FurScore 8
HeightW 8
ChestCir 8
BoltFox 8
Passion 8
SoundUG 8
SearchUG 8
NoseApt 8
TrackRel 8
TrackVoli 8
SoundTr 8
SoundSi 8
WaterAf 8
Obedience 8
Gun_Shy 8
TotalP 8
Price 8
TestDate 8
Location $19;
FORMAT
ID BEST12.
TestType $CHAR1.
Conform BEST12.
FurScore BEST12.
HeightW BEST12.
ChestCir BEST12.
BoltFox BEST12.
Passion BEST12.
SoundUG BEST12.
SearchUG BEST12.
NoseApt BEST12.
TrackRel BEST12.
TrackVoli BEST12.
SoundTr BEST12.
SoundSi BEST12.
WaterAf BEST12.
Obedience BEST12.
Gun_Shy BEST12.
TotalP BEST12.
Price BEST12.
TestDate DDMMYYP10.
Location $CHAR19.;
INFORMAT
ID BEST12.
TestType $CHAR1.
Conform BEST12.
FurScore BEST12.
HeightW BEST12.
ChestCir BEST12.
BoltFox BEST12.
Passion BEST12.
SoundUG BEST12.
SearchUG BEST12.
NoseApt BEST12.
TrackRel BEST12.
TrackVoli BEST12.
SoundTr BEST12.
SoundSi BEST12.
WaterAf BEST12.
Obedience BEST12.
Gun_Shy BEST12.
TotalP BEST12.
Price BEST12.
TestDate DDMMYY10.
Location $CHAR19.;
INFILE 'C:\Users\file_location' /*file location*/
LRECL=88
ENCODING="WLATIN1"
TERMSTR=CRLF
DLM=';'
FIRSTOBS=2
MISSOVER
DSD;
INPUT
ID : BEST32.
TestType : $CHAR1.
Conform : BEST32.
FurScore : BEST32.
HeightW : BEST32.
ChestCir : BEST32.
BoltFox : BEST32.
Passion : BEST32.
SoundUG : BEST32.
SearchUG : BEST32.
NoseApt : BEST32.
TrackRel : BEST32.
TrackVoli : BEST32.
SoundTr : BEST32.
SoundSi : BEST32.
WaterAf : BEST32.
Obedience : BEST32.
Gun_Shy : BEST32.
TotalP : BEST32.
Price : BEST32.
TestDate : DDMMYY10.
Location : $CHAR19.;
RUN;
/***Descriptive Statistics***/ ....
Bei der Verwandschaftsdatei komme ich einfach nicht weiter... Hab versucht es mit dem Import Wizard als Excel-Datei einzulesen und dann mit:
PROC IMPORT OUT= VerwandschaftsMatrix DATAFILE= "C:\file_location.xlsx" DBMS=EXCEL REPLACE; RANGE="Datei$"; GETNAMES=NO; MIXED=YES; SCANTEXT=YES; USEDATE=YES; RUN;
laufen zu lassen. 1. fehlen dann alle ID mit characteren und 2. scheint SAS noch die Zeit mit reinzurechnen? Ich hab plötzlich 6 variablen anstelle von 4..
Gibt es einen relativ einfachen Weg, bei dem ich vor meinen Professoren auch noch behaupten kann ich hätte es mir selbst erarbeitet?
Ich bedanke mich schon mal im Voraus für alle Hilfe Anni2017
... View more