% This file is part of the 'foreign' package for R % It is distributed under the GPL version 2 or later % Original copyright (c) 2002 VJ Carey % Changes copyright (c) 2002-13 R Core Team \name{read.ssd} \alias{read.ssd} \title{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 \code{read.xport} to obtain a data frame. } \usage{ read.ssd(libname, sectionnames, tmpXport=tempfile(), tmpProgLoc=tempfile(), sascmd="sas") } \arguments{ \item{libname}{character string defining the SAS library (usually a directory reference)} \item{sectionnames}{character vector giving member names. These are files in the \code{libname} directory. They will usually have a \code{.ssd0x} or \code{.sas7bdat} extension, which should be omitted. Use of ASCII names of at most 8 characters is strongly recommended.} \item{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.} \item{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.} \item{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 \code{NULL} with warnings and some enduring side effects (log file for auditing) } \author{ For Unix: VJ Carey \email{stvjc@channing.harvard.edu} } \note{ \strong{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 \code{.csv}, for example \sQuote{Stat/Transfer} or \sQuote{DBMS/Copy} or the \sQuote{SAS System Viewer} (Windows only). SAS requires section names to be no more than 8 characters. This is worked by the use of symbolic links: these are barely supported on Windows. } \seealso{\code{\link{read.xport}}} \examples{ ## if there were some files on the web we could get a real ## runnable example \dontrun{ 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")) } } \keyword{file}