Greetings -- coming from Python/Ruby perspective, I'm wondering about certain features of R as a programming language.
Say I have a huge table t of the form run ord unit words new 1 1 6939 1013 641 1 2 275 1001 518 1 3 3314 1008 488 1 4 14154 1018 463 1 5 2982 1006 421 Alternatively, it may have a part column in front. For each run (in a part if present), I select ord and new columns as x and y and plot their functions in various ways. t is huge. So I want to select the subset to plot, as follows: t.xy <- function(t,part=NA,run=NA) { if (is.na(run)) { # TODO does this entail a full copy -- or how do we do references in R? r <- t } else if (is.na(part)) { r <- t[t$run == run,] } else { # part present too r <- t[t$part == part & t$run == run,] } x <- r$ord y <- r$new xy.coords(x,y) } What I'm wondering about is whether r <-t will copy the complete t, and how do I minimize copying in R. I heard it's a functional language -- is there lazy evaluation in place here? Additionally, tried to use --args command line arguments, and found a way only due to David Brahm -- who helped with several important R points (thanks Dave!): #!/bin/sh # graph a fertility run tail --lines=+4 "$0" | R --vanilla --slave --args $*; exit args <- commandArgs()[-(1:4)] ... And, still no option processing as in GNU long options, or python or ruby's optparse. What's the semantics of parameter passing -- by value or by reference? Is there anything less ugly than print(paste("x=",x,"y=",y)) -- for routine printing? Can [1] be eliminated from such simple printing? What about formatted printing? Is there a way to assign all of a <- args[1] b <- args[2] c <- args[3] in one fell swoop, a lá Python's a,b,c = args What's the simplest way to check whether a filename ends in ".rda"? Will ask more as I go programming... (Will someone here please write an O'Reilly's "Programming in R"? :) Cheers, Alexy ______________________________________________ R-help@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.