Martin Maechler
1997-Oct-04 15:49 UTC
R-alpha: paste problem in TASKS --- yes, I do really want it
This is from line 104 of current TASKS:
----------------------------------------------------------------------
TASK: "paste" problem
STATUS: Open
FROM: maechler@stat.math.ethz.ch
in S,
paste(....., collapse = string)
always returns ONE string (a character vector of length 1),
according to documentation and several examples.
in R, this is not true:
R> paste(rep(" ",0), collapse="...") #anything for
collapse
character(0)
S> paste(rep(" ",0), collapse="...") #anything for
collapse
[1] ""
Again, I think R is more logical than S here, but it was decided
that in minor cases, compatibility comes first...
[ Low priority. Complain if you really need it. ]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
I hereby complain .
Yes I do want it. The current behaviour results in code being broken
which would work otherwise.
{{of course I can always fix that code by an extra if(....) else .....
but the point is that if parse(..) behaved more reasonable,
I did not have to fix that code..
}}
Yet another example is the `fun()' Example in ?tempfile
[in the latest snapshot of R-0.60]
which terminates on error for me just because of the above bug:
fun <- function() {
FILE <- tempfile("fun")
on.exit(unlink(FILE))
system(paste("printenv >", FILE))
x <- strsplit(scan(FILE, what = ""), "=")
v <- n <- character(LEN <- length(x))
for (i in 1:LEN) {
n[i] <- x[[i]][1]
v[i] <- paste(x[[i]][-1], collapse = "=")
}
structure(v, names = n)
}
> fun()
Read 83 items
Error in "[<-"(c("/u/sfs/adm",
"/usr/local/bin",
".:/u/maechler/bib:/u/maechler/tex/styles:.:/u/sfs/bib", : nothing to
replace with
--- and the reason is: x[[i]][-1] is empty (some environment values are
just defined with no value ..)
in which case
paste(x[[i]][-1], collapse = "=")
returns
character(0)
where it rather should return (IMHO)
""
v[i] <- character(0) then gives the error, whereas
v[i] <- "" would exactly produce what is wanted.
-----
Martin
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To:
r-devel-request@stat.math.ethz.ch
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
I tried compiling R-0.50-a4 with Microsoft Visual C++ 5.0 on Windows NT 4.2 and have some problems. I am doing this with the hope of being able to contribute to further development of R for Windows. I followed the instructions in the R/src/windows directory, copying the resulting files to my PC. Most source files that are not Windows dependent compile fine, others such as wincons.c, plotmath.c do not. I have noticed some missing header files: <env.h> not in my compiler distribution <dl.h> is this HP specific? presumably not needed shellapi.h I am also not sure if all the needed symbols and compiler options are being properly defined at compile time. If a working makefile could be made available it might give me some clues about how to proceed. Any suggestions? Rob Creecy Census Bureau =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-