[R] Selective column loads with scan()
Peter Dalgaard BSA
p.dalgaard at biostat.ku.dk
Mon Jan 8 00:00:55 CET 2001
Prof Brian Ripley <ripley at stats.ox.ac.uk> writes:
> > Try
> > scan(file.name, what = list(, , ""), flush = TRUE)
[ really: scan(file.name, what = list(NULL, NULL, ""), flush = TRUE)
> Unfortunately that gives you the first column. With S you need the NULLs
> in there (and then it is a known trick), but they are not accepted in R.
> I don't know a good way to do this in R, but then I would not try it.
> Either use `cut' to extract the columns(s) needed from the file, or
> use a database and a connection such as RODBC to do the extraction in the
Doesn't look like rocket science to make the NULL entries work in R,
but probably a tad late for 1.2.1 (next Monday)
Basically, I think it would amount to (in src/main/scan.c):
* The allocation code in scanFrame should stick in a NULL for ans[i]
rather than error out if what[i] is NULL. Also watch for this when
the n == blksize && colsread == 0 condition is handled.
* fillBuffer should treat NULL as STRSXP
* extractItem should ignore NULL types (does already, it seems)
On the other hand, it might make better sense to have a mask= argument
controlling which columns that are kept/discarded. Or select=.
O__ ---- Peter Dalgaard Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
r-help 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-help-request at stat.math.ethz.ch
More information about the R-help