[R] SAS to R - if you don't have a SAS license

Gyula Gulyas gygulyas at yahoo.ca
Fri Dec 28 00:33:27 CET 2007


Hi all,

if you do not have a SAS license but want to convert
native SAS data files, the solution below will work.

# read SAS data without SAS

# 1. Download free SAS System Viewer from either of
the sites below:
#      
http://www.sas.com/apps/demosdownloads/setupcat.jsp?cat=SAS+System+Viewer
(requires registration)
#      
http://www.umass.edu/statdata/software/downloads/SASViewer/index.html
# 2. Open SAS data in the SAS System Viewer
# 3. View-Formatted sets the data in formatted view
# 4. Save As File...csv file - this is your SAS data
file
# 5. View-Variables (now showing the variable names
and formats)
# 6. Save As File...csv file - this is your SAS
variable definition file

# run code below

wrkdir<-getwd() # save working directory to reset
later

# Select the SAS data file...
sas.data<-read.table(file.choose(),header=T, sep=",",
na.strings=".")

# Select SAS variable definition file...
sas.def<-read.csv(file.choose())

# str(sas.def)
# sas.def$SASFORMAT[sas.def$Type=="Char"]<-"character"
# sas.def$SASFORMAT[sas.def$Type=="Num"]<-"numeric"

sas.def$SASFORMAT[substr(sas.def$Format,1,4)=="DATE"]<-"date"

sas.def<-sas.def[,length(names(sas.def))] # pick last
column

tmp<-which(sas.def=="date")

sas.data[,tmp] <-
as.data.frame(strptime(sas.data[,tmp],
"%d%b%Y:%H:%M:%S"))

str(sas.data)
print(head(sas.data))

setwd(wrkdir) # reset working directory

rm(wrkdir,tmp,sas.def)

# the end




      ____________________________________________________________________________________
Be a better friend, newshound, and



More information about the R-help mailing list