Avoiding rda files because they don't track well with version control seems weak to me, since you should be creating the rda with an R file in the tools directory.
On July 13, 2018 6:50:31 PM PDT, William Dunlap <wdun...@tibco.com> wrote: >What the OP is doing looks fine to me. > >The environment holding the data vectors is not necessary, but it helps >organize things - you know where to look for this sort of data vector. > >I would avoid the *.rda file, since it is not text, hence not readily >editable >or trackable with most source control systems. > > >Bill Dunlap >TIBCO Software >wdunlap tibco.com > >On Fri, Jul 13, 2018 at 6:17 PM, Jeff Newmiller ><jdnew...@dcn.davis.ca.us> >wrote: > >> a) There is a mailing list for package development questions: >> R-package-devel. >> >> b) This seems like a job for the sysdata.rda file... no explicit >> environments needed. See the Writing R Extensions manual. >> >> On July 13, 2018 5:51:06 PM PDT, Michael Hannon < >> jmhannon.ucda...@gmail.com> wrote: >> >Greetings. I'm putting together a small package in which I use >> >`dplyr::read_csv()` to read CSV files from several different >sources. >> >I do >> >this in several different files, but with various kinds of >subsequent >> >processing, depending on the file. >> > >> >I find it useful to specify column types, as the apparent data type >of >> >a given >> >column sometimes changes unexpectedly deep into the file. I.e., a >> >field that >> >consistently looks like an integer, suddenly becomes a fraction: >> > >> > 1, 1, ..., 1, 1/2, 1, ... >> > >> >Hence, the column type has to be treated as a character, rather than >as >> >an >> >integer (with the possibility of later conversion to double, if >> >necessary). >> >(This is just an example.) >> > >> >Therefore I use the `col_types` argument in all of the calls to >> >`read_csv()`. >> > >> >These calls are spread over several files, but I want the keep all >of >> >the >> >column types in a single place, yet have them available in each of >the >> >several >> >files. This is just for the sake of maintainability. >> > >> >At the moment I do this by putting the column-type definitions into >a >> >single, >> >file: >> > >> > 000_define_data_attributes.R >> > >> >that: >> > >> > (1) is named so that it's parsed first by `devtools::build()` >> > (2) sets up an environment and stuffs the column types into it: >> > >> > data_env <- new.env(parent=emptyenv()) >> > data_env$col_types_alpha <- list( >> > Date = col_date(), >> > var1 = col_double(), >> > ... >> > ) >> > >> >There are a few other things that go into the file as well. >> > >> >Then I pick off the appropriate stuff from the environment in the >other >> >files: >> > >> >foo_alpha <- read_csv("alpha.csv", col_types = >> >data_env$col_types_alpha) >> > >> >This seems to work, but it doesn't "feel" right to me. (If this >were >> >Python, >> >people would accuse me of being "non-pythonic"). >> > >> >Hence, I'm seeking suggestions for the best practice for this kind >of >> >thing. >> > >> >BTW, I note that both the sources of data ("alpha", etc.) and the >> >column types >> >are more or less guaranteed to be static for the foreseeable future. >> >Hence, >> >there really isn't much danger in just replicating the column-type >> >definitions >> >in each of the various files, which would obviate the need for the >> >"000..." >> >file. In other words, this is mostly a style thing. >> > >> >Thanks for any advice you can provide. >> > >> >-- Mike >> > >> >______________________________________________ >> >R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >> >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. >> >> -- >> Sent from my phone. Please excuse my brevity. >> >> ______________________________________________ >> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >> 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. >> -- Sent from my phone. Please excuse my brevity. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.