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

Wensui Liu liuwensui at gmail.com
Fri Dec 28 00:46:48 CET 2007


while I move data between SAS and R all the time, personally I don't
think your recommendation is very practical. Instead, I feel SAS
transport file is much better than csv.

Plus, the sas dataset created on unix can't be opened by sas viewer on
windows. It is even undoable if the dataset is large.

Just my $0.02.


On Dec 27, 2007 6:33 PM, Gyula Gulyas <gygulyas at yahoo.ca> wrote:
> 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
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



-- 
===============================
WenSui Liu
Statistical Project Manager
ChoicePoint Precision Marketing
(http://spaces.msn.com/statcompute/blog)



More information about the R-help mailing list