johannes rara
2010-Oct-19 10:47 UTC
[R] How to read only ten rows from a SAS dataset (read.ssd)?
I'm trying to read SAS datasets on Windows: sashome <- "C:/Program Files/SAS/SAS 9.1" fold <- "C:/temp" g <- read.ssd(fold, "sasfile", sascmd = file.path(sashome, "sas.exe")) How to get only e.g first ten rows into R? -J
David Winsemius
2010-Oct-19 13:54 UTC
[R] How to read only ten rows from a SAS dataset (read.ssd)?
On Oct 19, 2010, at 6:47 AM, johannes rara wrote:> I'm trying to read SAS datasets on Windows: > > sashome <- "C:/Program Files/SAS/SAS 9.1" > fold <- "C:/temp" > g <- read.ssd(fold, "sasfile", sascmd = file.path(sashome, "sas.exe"))And this was successful?> > How to get only e.g first ten rows into R?Presumably you also entered require(foreign) if you had success. Looking at the help page, we see no parameter that would effect such a result. So just type: read.ssd You see that this function's code is available and if you know SAS, you should be able to insert the needed line that would limit the dataset length to only ten lines. I'm not being coy. I would probably had further suggestions 20 years ago when I was using SAS. There is a function sas.get in package Hmisc that offers more extensive control, but it is not clear to me on looking at the parameters whether your particular request would be easily accommodated. The ifs= parameter would appear to be the most promising candidate to me. It appears that these file formats are accepted: sasds.suffix <- c("sd2", "sd7", "ssd01", "ssd02", "ssd03", "ssd04", "sas7bdat") Also, since the use of read.ssd implies that you have a working copy of SAS, then another option is simply exporting a file in the format of your choice? The SAS XPT format seems to be well handled by external programs. -- David.> > -J > > ______________________________________________ > 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.David Winsemius, MD West Hartford, CT