Purvis Bedenbaugh <[EMAIL PROTECTED]> wrote: > I started looking for an R-S compatibility table but didn't find it. > Examples: > 'stdev' is now 'sd' - is it exactly the same computation ? > couldn't find a built-in for error.bar() > syntax that is an error in R: param(thisframe,"b") <- value
It's a moving target! I wrote such a list in October 2001, and revised it a year later, but I haven't updated it since then (I no longer use S-Plus). Some people (e.g. Paul Gilbert) replied that they also had lists which didn't overlap much with mine, suggesting we were each seeing just a small part of the puzzle. So maintaining a complete and current list would be quite a challenge. Paul also mentioned to me a mailing list "R-sig-S" on the topic: <https://www.stat.math.ethz.ch/mailman/listinfo/r-sig-s> but it seems dead since May 2001. That said, here's my year-old list. Note "S" means "S-Plus 6.1.2" (not "The S Language") and "R" probably means "R-1.6.0". *** R vs. S (DB 10/28/02) *** Language differences: - Scoping rules differ. In R, functions see the functions they're in. Try: f1 <- function() {x <- 1; f2 <- function() print(x); f2()}; f1() - Data must be loaded explicitly in R, can be attach()'ed in S. Addressed by my contributed package "g.data". - R has a character-type NA, so LETTERS[c(NA,2)] = c(NA,"B") not c("","B") - paste("a","b", sep="|", sep=".") is an error in R; ok in S. - for() loops more efficient in R. Graphics differences: - Log scale indicated in S with par(xaxt)=="l", in R with par("xlog")==T. - R has cex.main, col.lab, font.axis, etc. Thus title("Hi", cex=4) fails. - R has plotmath and Hershey vector fonts. - R has palette(rainbow(10)) to define colors (both screen and printer). Functions missing from R: - unpaste, slice.index, colVars Functions missing from S: - strsplit, sub, gsub, chartr, formatC Functions that work differently: - system() has no "input" argument in R. - substring(s,"x") <- "X" only works in S, but R has s <- gsub("x","X",s). - scan expects numbers by default in R. - which(<numeric>) converts to logical in S, is an error in R. - The NULL returned by if(F){...} is invisible in R, visible in S. - The NULL returned by return() is visible in R, invisible in S. - Args to "var" differ, and R has "cov". S na.method="a" ~ R use="p". - var (or cov) drops dimensions in S, not R. - cut allows labels=F in R, not in S (also left.include=T becomes right=F). - Last argument of a replacement function must be named "value" in R. - tapply(1:3, c("a","b","a"), sum) is a 1D-array in R, a vector in S. - probability distribution fcn's have arg "log.x" in R (ref: Spencer Graves) -- -- David Brahm ([EMAIL PROTECTED]) ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help