read.ssd               package:foreign               R Documentation

Obtain a Data Frame from a SAS Permanent Dataset, via read.xport

Description:

     Generates a SAS program to convert the ssd contents to SAS
     transport format and then uses 'read.xport' to obtain a dataframe.

Usage:

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

Arguments:

 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.

tmpXport: character  string: location where temporary xport format
          archive should reside - defaults to a randomly named file in
          the session temporary directory, which will be removed.

tmpProgLoc: character  string: location where temporary conversion SAS
          program should reside - defaults to a randomly named file in
          session temporary directory, which will be removed on
          successful operation.

  sascmd: character string giving full path to SAS executable.

Details:

     Creates a SAS program and runs it.

     Error handling is primitive.

Value:

     A data frame if all goes well, or 'NULL' with warnings and some
     enduring side effects (log file for auditing)

Note:

     *This requires SAS to be available.*  If you have a SAS dataset
     without access to SAS you will need another product to convert it
     to a  format such as '.csv', for example 'Stat/Transfer' or 
     'DBMS/Copy' or the 'SAS System Viewer' (Windows only).

Author(s):

     For Unix: VJ Carey <stvjc@channing.harvard.edu>

See Also:

     'read.xport'

Examples:

     ## if there were some files on the web we could get a real
     ## runnable example
     ## Not run: 
     R> list.files("trialdata")
      [1] "baseline.sas7bdat" "form11.sas7bdat"   "form12.sas7bdat"  
      [4] "form13.sas7bdat"   "form22.sas7bdat"   "form23.sas7bdat"  
      [7] "form3.sas7bdat"    "form4.sas7bdat"    "form48.sas7bdat"  
     [10] "form50.sas7bdat"   "form51.sas7bdat"   "form71.sas7bdat"  
     [13] "form72.sas7bdat"   "form8.sas7bdat"    "form9.sas7bdat"   
     [16] "form90.sas7bdat"   "form91.sas7bdat"  
     R> baseline <- read.ssd("trialdata","baseline")
     R> form90 <- read.ssd("trialdata","form90")

     ## Or for a Windows example
     sashome <- "/Program Files/SAS/SAS 9.1"
     read.ssd(file.path(sashome, "core", "sashelp"), "retail",
              sascmd = file.path(sashome, "sas.exe"))
     ## End(Not run)

