[R] skeleton for C code?

Douglas Bates bates at stat.wisc.edu
Thu Jun 28 04:20:12 CEST 2007


On 6/27/07, ivo welch <ivowel at gmail.com> wrote:
> Dear R experts---I would like to write a replacement for the read.csv
> function that is less general, but also more efficient.
>
> could someone please provide me with a skeleton function that shows me
> how to read the arguments and return a data frame for a call to a C
> function that handles
>
>      returned.data.frame = my.read.csv(file, header = TRUE, sep = ",",
> quote="\"", dec=".",
>               fill = TRUE, comment.char="", ...)
>
> this may be very difficult, of course, in which case writing such a
> function would not be worth it.  I guess I would be happy just to
> learn how to return a basic data frame that holds data vectors that
> are either strings or numbers---nothing more complex.
>
> help appreciated.

Should we assume that you have already read the relevant sections of
the manual "Writing R Extensions"?

The .Call interface is the easiest way to return an object like a data
frame.  I might pass the result back as a list and use something like

do.call(data.frame, .Call("my_csv_reader", file, ...))

rather than duplicating all the error checking that is done in the
data.frame function.



More information about the R-help mailing list