- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
What is Infile and file statements in SAS and what is the difference between them?
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
INFILE is used to denote an external file from whcih data is read into the SAS system.
FILE denotes an external file that data is written to.
Basic DATA step architecture:
DATA test;
INFILE "external_file.txt";
INPUT
x1
x2
;
RUN;
DATA _NULL_;
SET test;
FILE "another_external_file.txt";
PUT
x1
x2
;
RUN;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hi ... you can try this ...
* create a data file (no data set created);
data _null_;
* specify the name of the data file;
file 'c:\new.txt';
* create some numeric variables and give them all a value of 99;
retain x1 x2 x3 99;
* write the values of the variables to the file specified in the FILE statement;
put x1-x3;
run;
* read the data file you just created and create a data set;
data new;
* specify the location of the data file;
infile 'c:\new.txt';
* read the data;
input x1-x3;
run;
* look at your data set;
proc print data=new;
run;
Another way to remember the difference between FILE and INFILE is to think of the statements PUT and INPUT. PUT statements are associated with FILE (write to a file) and INPUT statements are associated with INFILE (read data from an already existing file).