Can R support data manipulation programming that is available in the SAS datastep? Specifically, can R support the following: - Read multiple dataset one record at a time and compare values from each; then base on if-then logic write to multiple output files - Load a lookup table and then process a different file; based on if-then logic, access and lookup values in the table - Support modular “gosub”programming - Sort files - Date math and conversions - Would it be able to support the following type of logic: o Start § Read Record from File 1 § Read Record from File 2 § Match · If Key 1 <> Key 2 and Key 1 < Key 2, Write to output file A · If Key 1 = Key 2, Write to output file B · If Key 1 <> Key 2 and Key 1 > Key 2, Write to output file C§ Goto Start until File 1 Done John Filben Cell Phone - 773.401.2822 Email - johnfilben@yahoo.com [[alternative HTML version deleted]]
On Thu, Dec 3, 2009 at 3:52 PM, John Filben <johnfilben at yahoo.com> wrote:> Can R support data manipulation programming that is available in the SAS datastep?? Specifically, can R support the following: > -????????? Read multiple dataset one record at a time and compare values from each; then base on if-then logic write to multiple output files > -????????? Load a lookup table and then process a different file; based on if-then logic, access and lookup values in the table > -????????? Support modular ?gosub?programming > -????????? Sort files > -????????? Date math and conversions > -????????? Would it be able to support the following type of logic: > o?? Start > ?? Read Record from File 1 > ?? Read Record from File 2 > ?? Match > ????????? If Key 1 <> Key 2 and Key 1 < Key 2, Write to output file A > ????????? If Key 1 = Key 2, Write to output file B > ????????? If Key 1 <> Key 2 and Key 1 > Key 2, Write to output file C?? Goto Start until File 1 DoneYes. Hadley -- http://had.co.nz/
Please refrain from posting HTML. The results can be incomprehensible: On 2009.12.03 13:52:09, John Filben wrote:> Can R support data manipulation programming that is available in the SAS datastep??? Specifically, can R support the following: > -?????????????????? Read multiple dataset one record at a time and compare values from each; then base on if-then logic write to multiple output files > -?????????????????? Load a lookup table and then process a different file; based on if-then logic, access and lookup values in the table > -?????????????????? Support modular ???gosub???programming > -?????????????????? Sort files > -?????????????????? Date math and conversions > -?????????????????? Would it be able to support the following type of logic: > o???? Start > ???? Read Record from File 1 > ???? Read Record from File 2 > ???? Match > ?????????????????? If Key 1 <> Key 2 and Key 1 < Key 2, Write to output file A > ?????????????????? If Key 1 = Key 2, Write to output file B > ?????????????????? If Key 1 <> Key 2 and Key 1 > Key 2, Write to output file C???? Goto Start until File 1 Done > ??John Filben > Cell Phone - 773.401.2822 > Email - johnfilben at yahoo.com > > [[alternative HTML version deleted]]-- Jason W. Morgan Graduate Student Department of Political Science *The Ohio State University* 154 North Oval Mall Columbus, Ohio 43210
The data import/export manual can elaborate on a lot of these; this is all straightforward, although many people would prefer to use a relational database for some of the things you mentioned. I'm not aware of a "goto" command in R, though (although I could be wrong). --Gray On Thu, Dec 3, 2009 at 1:52 PM, John Filben <johnfilben at yahoo.com> wrote:> Can R support data manipulation programming that is available in the SAS datastep?? Specifically, can R support the following: > -????????? Read multiple dataset one record at a time and compare values from each; then base on if-then logic write to multiple output files > -????????? Load a lookup table and then process a different file; based on if-then logic, access and lookup values in the table > -????????? Support modular ?gosub?programming > -????????? Sort files > -????????? Date math and conversions > -????????? Would it be able to support the following type of logic: > o?? Start > ?? Read Record from File 1 > ?? Read Record from File 2 > ?? Match > ????????? If Key 1 <> Key 2 and Key 1 < Key 2, Write to output file A > ????????? If Key 1 = Key 2, Write to output file B > ????????? If Key 1 <> Key 2 and Key 1 > Key 2, Write to output file C?? Goto Start until File 1 Done > ?John Filben > Cell Phone - 773.401.2822 > Email - johnfilben at yahoo.com > > > > ? ? ? ?[[alternative HTML version deleted]] > > > ______________________________________________ > 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. > >
On Thu, Dec 3, 2009 at 9:52 PM, John Filben <johnfilben at yahoo.com> wrote:> Can R support data manipulation programming that is available in the SAS datastep?? Specifically, can R support the following: > -????????? Read multiple dataset one record at a time and compare values from each; then base on if-then logic write to multiple output files > -????????? Load a lookup table and then process a different file; based on if-then logic, access and lookup values in the table > -????????? Support modular ?gosub?programming > -????????? Sort files > -????????? Date math and conversions > -????????? Would it be able to support the following type of logic: > o?? Start > ?? Read Record from File 1 > ?? Read Record from File 2 > ?? Match > ????????? If Key 1 <> Key 2 and Key 1 < Key 2, Write to output file A > ????????? If Key 1 = Key 2, Write to output file B > ????????? If Key 1 <> Key 2 and Key 1 > Key 2, Write to output file C?? Goto Start until File 1 Done > ?John FilbenI'll expand on Hadley Wickham's "Yes", to say "Yes, and it wouldn't be much of a 'system for statistical computation and graphics' if it couldn't do that". Remember R uses the 'S' and C programming languages and is Open Source. If it _cant_ do something you want it to do, you can write code that does it. Like the date math and conversions. Originally, maybe waaaay back in R version 0.something, it didn't have that. But someone wrote it, and wisely contributed it, and the community saw that it was good. And now we have date math and conversions. And nobody has to write any date math or conversion codes ever again. Now tell me how to get something into the SAS core code. Barry P.S. I see a very obvious optimisation you can do on this line: If Key 1 <> Key 2 and Key 1 < Key 2, Write to output file A but maybe that's some kind of weird SASism....