читать текстовый файл, где одни и те же переменные перечислены в нескольких столбцах с помощью sas - PullRequest
0 голосов
/ 22 февраля 2020

Я новичок в SAS. Я пытаюсь прочитать текстовый файл, где одни и те же переменные перечислены в нескольких столбцах. enter image description here

Первая переменная - это дата. Второй - время, последний - уровень глюкозы в крови. Большое спасибо за вашу доброту и помощь.

С уважением

Уилсон

1 Ответ

1 голос
/ 22 февраля 2020

Данные можно прочитать, используя список input оператор с указанными функциями : (модификатор формата) и @@ (удержание строки).

glucose-readings.txt (файл данных)

01jan16 14:46  89   03jan16 11:27 103   04jan16 09:40  99
05jan16 09:46 105   11jan16 10:58 108   13jan16 10:32 109
14jan16 10:49  90   18jan16 09:32 110   25jan16 10:37 100

Пример программы

data want;
  infile "c:\temp\glucose-readings.txt";

  input 
    datepart :date9.
    timepart :time5.
    glucose
  @@;

  datetime = dhms(datepart,0,0,timepart);

  format 
    datepart date9.
    timepart time5.
    datetime datetime19.
    glucose 3.
  ;
;

proc print; run;

enter image description here

Из документации Оператор INPUT: список

:
... Для числовой переменной c этот модификатор формата читает значение из следующего непустого столбца, пока указатель не достигнет следующего пустого столбца или конца строки данных, в зависимости от того, что наступит раньше.
...
@@
входная запись для выполнения следующего оператора INPUT через итерации шага DATA. Этот спецификатор удержания строки называется двойным трейлингом @.
...
Tip Двойной трейлинг @ полезен, когда каждая входная строка содержит значения для нескольких наблюдений.

Обязательно ознакомьтесь с документацией, то есть там вы найдете подробные объяснения и полезные примеры.

...