使用带有两个日期变量的数据行 infile 的数据集

dataset using datalines infile with two dates variables

我的数据线有 2 个变量,日期 1 和日期 2,对应格式为 ddmmyy10。和 mmddyy10。

data date;
    input date1 ddmmyy10. date2 mmddyy10.;
    datalines;
09/01/2015 01/09/2015
10/01/2015 01/10/2015
11/01/2015 01/11/2015
12/01/2015 01/12/2015
13/01/2015 01/13/2015
    ;
run;

我尝试添加代码但还是不行

infile datalines delimiter=' ';

:(冒号)格式修饰符使您可以使用列表输入,还可以在变量名称后指定信息格式,无论是字符还是数字。 SAS 读取直到遇到空白列、定义的变量长度(仅限字符)或数据行的末尾,以先到者为准。

Format Modifier

data date;
input date1: ddmmyy10. date2: mmddyy10.;
datalines;
09/01/2015 01/09/2015
10/01/2015 01/10/2015
11/01/2015 01/11/2015
12/01/2015 01/12/2015
13/01/2015 01/13/2015
;
run;

代码不工作的原因是因为您正在使用 List 输入来读取不带冒号输入修饰符或 informat 语句的非标准数据。

对于使用列表输入技术的非标准数据(逗号、美元、日期等 -> Reading Raw data -> Kinds of Data )或长度大于 8 字节的标准数据,您需要使用 INFORMAT 语句或冒号修饰符使用 INPUT 语句。

1) 使用 INFORMAT 语句或 ATTRIB 语句为输入变量分配信息格式

data date;
  informat date1  ddmmyy10. date2 mmddyy10.;
  input date1  date2;
  format date1-date2 yymmdd10.;
datalines;
09/01/2015 01/09/2015
10/01/2015 01/10/2015
;
run;

2) 使用冒号 (:) 输入修饰符

data date;
input date1: ddmmyy10. date2: mmddyy10.;
format date1-date2 yymmdd10.;
datalines;
09/01/2015 01/09/2015
10/01/2015 01/10/2015
;
run;