[R] sas.get problem

Tim Churches tchur at optushome.com.au
Wed Apr 11 00:54:42 CEST 2007


John Kane wrote:
> I  have 3 SAS files all in the directory F:/sas, two
> data files
> and a format file :
> form.ea1.sas7bdat
> form.ea2.sas7bdat
> sas.fmts.sas7bdat
> 
> F is a USB.
> 
> I am trying import them to R using "sas.get".
> 
> I have not used SAS since I was downloading data from 
> mainframe
> and having to write JCL.  I had forgotten how bizarre
> SAS can be.
> I currently have not even figured out how to load the
> files into SAS but
> they look fine since I can import them with no problem
> into SPSS.
> 
> I am using R2.4.1 under Windows XP
> SAS files were created with SAS 9.x
> They convert easily into SPSS 14
> 
> I
> n the example below I have tried various versions of
> the file names with
> with no luck.
> Can anyone suggest some approach(s) that I might take.
> 
> Example.
> 
> library(Hmisc)
> mydata <- sas.get(library="F:/sas", mem="form.ea1",
>              format.library="sas.fmts.sas7bdat",
>            sasprog = '"C:Program Files/SAS/SAS
> 9.1/sas.exe"')
> 
> Error message  (one of several that I have gotten
> while trying various things.)
> The filename, directory name, or volume label syntax
> is incorrect.
> Error in sas.get(library = "F:/sas", mem = "form.ea1",
> format.library = "sas.fmts.sas7bdat",  :
>         SAS job failed with status 1
> In addition: Warning messages:
> 1: sas.fmts.sas7bdat/formats.sc? or formats.sas7bcat 
> not found. Formatting ignored.
>  in: sas.get(library = "F:/sas", mem = "form.ea1",
> format.library = "sas.fmts.sas7bdat",
> 2: 'cmd' execution failed with error code 1 in:
> shell(cmd, wait = TRUE, intern = output)

The sas.get function in the Hmisc library is broken under Windows.

Change line 127 from:

    status <- sys(paste(shQuote(sasprog), shQuote(sasin), "-log",
        shQuote(log.file)), output = FALSE)

to:

    status <- system(paste(shQuote(sasprog), shQuote(sasin), "-log",
        shQuote(log.file)))

I found this fix in the R-help archives, sorry, don't have the original
to hand so I can't give proper attribution, but the fix is not due to
me. But it does work for me. I believe Frank Harrell has been notified
of the problem and the fix. Once patched and working correctly, the
sas.get function in the Hmisc library is fantastic - thanks Frank!

Tim C



More information about the R-help mailing list