[R] reading SAS data files

Prof Brian Ripley ripley at stats.ox.ac.uk
Mon Sep 26 20:54:04 CEST 2005

On Mon, 26 Sep 2005, Dean Sonneborn wrote:

> I am attempting to read in a SAS 9.1 data file. After starting R I
> change to the directory containing the sas data file and use the "dir"
> command to confirm that it is there. Then I run the following R-code:
> library(foreign)
> sashome <- "/Program Files/SAS/SAS 9.1"
> test<-read.ssd(file.path(sashome), "pcb",
>         sascmd = file.path(sashome, "sas.exe"))
> 	but R responds with:
> SAS failed.  SAS program at C:\DOCUME~1\DSONNE~1\LOCALS~1\Temp\Rtmp3540\file16169.sas
> The log file will be file16169.log in the current directory
> Warning message:
> SAS return code was 2 in: read.ssd(file.path(sashome), "pcb", sascmd = file.path(sashome,
> 	the SAS log file contain this:
> NOTE: Copyright (c) 2002-2003 by SAS Institute Inc., Cary, NC, USA.
> NOTE: SAS (r) 9.1 (TS1M3)
>      Licensed to UNIV OF CA/DAVIS, Site 0029107010.
> NOTE: This session is executing on the XP_PRO  platform.
> NOTE: SAS initialization used:
>      real time           0.13 seconds
>      cpu time            0.18 seconds
> 1          libname src2rd '/Program Files/SAS/SAS 9.1';
> NOTE: Libref SRC2RD was successfully assigned as follows:
>      Engine:        V9
>      Physical Name: C:\Program Files\SAS\SAS 9.1
> 2          libname rd xport 'C:\DOCUME~1\DSONNE~1\LOCALS~1\Temp\Rtmp3540\file26090';
> NOTE: Libref RD was successfully assigned as follows:
>      Engine:        XPORT
>      Physical Name: C:\DOCUME~1\DSONNE~1\LOCALS~1\Temp\Rtmp3540\file26090
> 3          proc copy in=src2rd out=rd;
> 4          select pcb ;
> ERROR: The file SRC2RD.PCB (memtype=ALL) was not found, but appears on a SELECT statement.
> ERROR: The file SRC2RD.PCB (memtype=ALL) was not found, but appears on a SELECT statement.
> ERROR: The file SRC2RD.PCB (memtype=ALL) was not found, but appears on a SELECT statement.
> WARNING: Input library SRC2RD is empty.
> NOTE: Statements not processed because of errors noted above.
> NOTE: The SAS System stopped processing this step because of errors.
> NOTE: PROCEDURE COPY used (Total process time):
>      real time           0.00 seconds
>      cpu time            0.01 seconds
> ERROR: Errors printed on page 1.
> ERROR: Errors printed on page 1.
> ERROR: Errors printed on page 1.
> NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414
> NOTE: The SAS System used:
>      real time           0.16 seconds
>      cpu time            0.20 seconds
> Does anyone see what I am doing incorrectly and can they offer any 
> suggestions about getting this to run correctly? I'm not sure where SAS 
> is expecting to find the data file. I have it in the default R 
> directory. Is this where SAS is looking for it or does it need to be 
> somewhere else?

I suggest you read the help file for read.ssd.  You are not telling it 
where the SAS files are correctly.  See the extracts below and the 


      read.ssd(libname, sectionnames,
         tmpXport=tempfile(), tmpProgLoc=tempfile(), sascmd="sas")


  libname: character string defining the SAS library (usually a
           directory reference)

sectionnames: character vector giving member names. These are files in
           the 'libname' directory. They will usually have a '.ssd0x' or
           '.sas7bdat' extension, which should be omitted.

The files are not in the SAS homne directory, but the `default R 
directory' (perhaps you mean the working directory?).

> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html


Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

More information about the R-help mailing list