suggestions about import SAS results to R.
Hello all,
Thanks very much for your kind help!
So far, I have tried three options and turned out that none of them working in my case. I am not sure if I did anything abnormal to make it that hard to import the data from SAS result to R.
I am running on SAS 9.2 to get the sales.sas7bdat and test_20130103.xls files. The excel file is exported with multiple sheets, where each sheet is automatically generated by group:
%macro raw_export_to_excel(recordtime);
ods listing close;
ods tagsets.excelxp file="C:\Documents and Settings\test_&recordtime..xls" style=statistical
options(sheet_interval='bygroup');
proc sort data = sales;
by age, state;
where age in (20,21,22,23);
run;
proc print data=sales;
by age;
run;
ods tagsets.excelxp close;
%mend raw_export_to_excel;
%raw_export_to_excel(%sysfunc(date(),yymmddn8.));
In the local machine, when I open the excel file in office 2007 in windows xp, I got a warning message said "The file you are trying to open, 'test_20130103.xls', is in a different format than specified by the file extension. Verify that the file is not corrupted and is from a trusted source before opening the file. Do you want to open the file now?"
I choose yes and the file is opened and I can see data in each sheet.
Then I start to import either sales.sas7bdat or test_20130103.xls files to R with three approaches:
----------------------
Approach 1: sas7bdat pack
By: read.sas7bdat("C:/Documents and Settings/sales.sas7bdat")
The error message shows that "big endian files are not supported"
----------------------
I do not understand why it says bid endian files are not supported. The sas file was generated on the server, I am using windows xp, does that mean there is a mismatch of the bytes of the files. Or this is related to the warning message when opening the excel file.
----------------------
Approach 2: foreign pack
By:
require(foreign)
rm(list=ls())
sashome <- "C:/Program Files/SAS/SASFoundation/9.2/"
checkfile <- read.ssd("C:/Documents and Settings/","sales",sascmd = file.path(sashome, "sas.exe"))
To convert .sas7bdat file to SAS Transport format.
The error message shows that " Error in file.symlink(oldPath, linkPath) : symbolic links are not supported on this version of Windows"
----------------------
Is this because of windows xp is not support in symbolic links? Maybe I can generate the transport format in SAS instead of calling from R.
----------------------
Approach 3: RODBC pack
By:
require('RODBC')
rm(list=ls())
channel <- odbcConnectExcel("c://Documents and Settings/test_20130103.xls",readOnly=TRUE);
age20 <- sqlFetch(channel,"age=20",as.is=TRUE);
odbcClose(channel)
The error message shows that "External table is not in the expected format."
----------------------
Is this related to the warning message in exporting data to excel file?
Thanks,
Rebecca
-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Frank Harrell
Sent: Thursday, January 03, 2013 9:08 AM
To: r-help at r-project.org
Subject: Re: [R] suggestions about import SAS results to R.
SAS' export to csv is buggy (improper quote matching, etc.). Instead consider having SAS create a version 5 transport file, then use the Hmisc package's sasxport.get function to handle labels, etc.
Frank
Ista Zahn wrote
Well it was worth a try. If you haven't solved the problem some other way I suggest exporting from SAS to a plain text format like .csv and read into R with read.table. Best, Ista On Wed, Jan 2, 2013 at 5:44 PM, Yuan, Rebecca <
rebecca.yuan@
> wrote:
Hello Ista,
Thanks for mention this package, however, it will not support big
file, where I got the error message:
----------------------
Error in read.sas7bdat("C:/Documents and Settings/test.sas7bdat") :
big endian files are not supported
----------------------
Cheers,
Rebecca
-----Original Message-----
From: Ista Zahn [mailto:
istazahn@
]
Sent: Wednesday, January 02, 2013 5:25 PM To: Yuan, Rebecca Cc: R help;
sas-l at .uga
Subject: Re: [R] suggestions about import SAS results to R. Hi Rebecca, I've had success with the sas7bdat package ( http://cran.r-project.org/web/packages/sas7bdat/ ) Best, Ista On Wed, Jan 2, 2013 at 5:15 PM, Yuan, Rebecca <
rebecca.yuan@
> wrote:
Hello all, Thanks for the suggestions. I tried to import data from sas to R using foreign package. In the first step, I tried to use read.ssd() to convert the sas file sales.sas7bdat to SAS Transport formats. But I got an error message as ---------------------------------------------------------------
source("testss.r")
Error in file.symlink(oldPath, linkPath) :
symbolic links are not supported on this version of Windows
---------------------------------------------------------------
While in testss.r,
---------------------------------------------------------------
require(foreign)
rm(list=ls())
sashome <- "C:/Program Files/SAS/SASFoundation/9.2/"
checkfile <- read.ssd("C:/Documents and
Settings/test","sales",sascmd = file.path(sashome, "sas.exe"))
---------------------------------------------------------------
I am using windows xp and R 2.15.2.
Thanks!
Rebecca
-----Original Message-----
From:
mehmet.suzen@
[mailto:
mehmet.suzen@
] On Behalf
Of Suzen, Mehmet Sent: Wednesday, January 02, 2013 4:14 PM To: David Winsemius Cc: Yuan, Rebecca; R help;
sas-l at .uga
Subject: Re: [R] suggestions about import SAS results to R.
On Jan 2, 2013, at 12:37 PM, Yuan, Rebecca wrote:
I am wondering if there is an efficient way to read SAS data directly in R, or what would be a better connection between SAS and R if I need to use R to deal with data achieved from SAS?
You may try foreign and SASxport packages: http://cran.r-project.org/web/packages/foreign/index.html http://cran.r-project.org/web/packages/SASxport/index.html But I heard that there might be some issues with the newest SAS version but give it a try... -------------------------------------------------------------------- -- This message, and any attachments, is for the intended r...{{dropped:2}}
______________________________________________
R-help@
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.
---------------------------------------------------------------------
- This message, and any attachments, is for the
intended...{{dropped:6}}
______________________________________________
R-help@
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.
----- Frank Harrell Department of Biostatistics, Vanderbilt University -- View this message in context: http://r.789695.n4.nabble.com/suggestions-about-import-SAS-results-to-R-tp4654444p4654521.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ 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. ---------------------------------------------------------------------- This message, and any attachments, is for the intended r...{{dropped:2}}