2016-10-05 16 views
0

データはCSVファイルにあります。ファイルの最初の行にはタイムポイントがあり、2番目の行には症状があります。各時点は、いくつかの症状のために結合された細胞です。ような何か:CSVファイルからのSASデータ操作、行のマージ

ID  Timepoint 1      Timepoint2 
     Symptom 1 Symptom 2 Symptom 3 Symptom 1 Symptom 2 Symptom 3 

1   0   1   1   2   1   2 

が、私はより多くの行と列を持っている

私はSASデータセットを取得したいと思い、この

ID Timepoint  Symptom 1 Symptom 2 Symptom 3 
1   1   0   1  1 
1   2   2   1  2 

などのような

答えて

1

あなたが使用することができますその構造にデータを読み込むためのデータステップ。

data symptom; 
    infile cards firstobs=4; 
    input id @; 
    do timepoint=1,2; 
     input symptom1-symptom3 @; 
     output; 
     end; 
    cards; 
ID  Timepoint 1      Timepoint2 
     Symptom 1 Symptom 2 Symptom 3 Symptom 1 Symptom 2 Symptom 3 

1   0   1   1   2   1   2 
;;;; 
    run; 
proc print; 
    run; 
+0

ありがとうございました。それはカードでうまくいくが、私がCSVファイルからそれをしようとすると、混乱する。例えばPROC IMPORT OUT = WORK.symptoms DATAFILE = "C:\ personal \ Consults \ TA Sciences \ Laser study \ Symptoms.csv" DBMS = CSV REPLACE; GETNAMES = YES; DATAROW = 2; RUN; VAR2 VAR3という名前の変数がたくさんあります。それをdatarow = 3に変更すると、同様の混乱が生じます。 –

+0

乱雑なフォーマットについては残念です。ここのコメントは編集が難しいです。 –

+1

INFILE CARDSをあなたのCSVへのパスに置き換えてください。 PROC IMPORTは関係しません。 –

関連する問題