Dear Bo, Please keep the mailing list in cc.
Your function only works properly with a data.frame in which all variables are characters. dput() will preserve the structure of the object and works with all R objects. Best regards, ir. Thierry Onkelinx Instituut voor natuur- en bosonderzoek / Research Institute for Nature and Forest team Biometrie & Kwaliteitszorg / team Biometrics & Quality Assurance Kliniekstraat 25 1070 Anderlecht Belgium To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of. ~ Sir Ronald Aylmer Fisher The plural of anecdote is not data. ~ Roger Brinner The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data. ~ John Tukey 2015-10-09 12:32 GMT+02:00 Bo Werth <bo.we...@gmail.com>: > Dear Thierry, > > many thanks for the hint - indeed, I wasn't aware of dput() - it is doing > something close to what I was looking for - > the only issue with the result for data frames is that it becomes > difficult to see the row association: > > dput returns > > structure(list(sheet = c("output cup", "output coppy", "gross value added > cup", > "gross value added coppy", "GFCF cup", "GFCF vol", "empl jobs", > "empl FTE", "employees jobs", "employees FTE", "D1", "D11", "D29-D39", > "D29 nom", "D39 nom", "P51c nom", "B2n+B3n", "total hours worked", > "hours worked employees"), var = c("PROD", "PKPY", "VALU", "VKPY", > "GFCF", "GKPY", "EMPN", "FTEN", "EMPE", "FTEE", "LABR", "WAGE", > "OTXS", "D29 nom", "D39 nom", "CFCC", "NOPS", "HRNS", "HRSE")), .Names = > c("sheet", > "var"), row.names = c(NA, -19L), class = "data.frame") > > > > df_rev returns > > rbind.data.frame(c("output cup", "PROD"), > c("output coppy", "PKPY"), > c("gross value added cup", "VALU"), > c("gross value added coppy", "VKPY"), > c("GFCF cup", "GFCF"), > c("GFCF vol", "GKPY"), > c("empl jobs", "EMPN"), > c("empl FTE", "FTEN"), > c("employees jobs", "EMPE"), > c("employees FTE", "FTEE"), > c("D1", "LABR"), > c("D11", "WAGE"), > c("D29-D39", "OTXS"), > c("D29 nom", "D29 nom"), > c("D39 nom", "D39 nom"), > c("P51c nom", "CFCC"), > c("B2n+B3n", "NOPS"), > c("total hours worked", "HRNS"), > c("hours worked employees", "HRSE")) > > Thanks again, > best, > Bo > > On Fri, Oct 9, 2015 at 12:22 PM, Thierry Onkelinx < > thierry.onkel...@inbo.be> wrote: > >> Dear Bo, >> >> I think that you are looking for dput() >> >> Best regards, >> >> ir. Thierry Onkelinx >> Instituut voor natuur- en bosonderzoek / Research Institute for Nature >> and Forest >> team Biometrie & Kwaliteitszorg / team Biometrics & Quality Assurance >> Kliniekstraat 25 >> 1070 Anderlecht >> Belgium >> >> To call in the statistician after the experiment is done may be no more >> than asking him to perform a post-mortem examination: he may be able to say >> what the experiment died of. ~ Sir Ronald Aylmer Fisher >> The plural of anecdote is not data. ~ Roger Brinner >> The combination of some data and an aching desire for an answer does not >> ensure that a reasonable answer can be extracted from a given body of data. >> ~ John Tukey >> >> 2015-10-09 11:55 GMT+02:00 Bo Werth <bo.we...@gmail.com>: >> >>> Dear all, >>> >>> this is my first message to this mailing list - please advise if it is >>> not >>> the right place for the subject >>> >>> I've been using R very intensively the last 3-4 years and one of the most >>> tedious tasks is modification of lookup or conversion tables >>> >>> So far, I have not found functions that create the commands for creating >>> objects (vectors, data frames) based on the objects themselves - i.e. to >>> reverse-engineer them. >>> >>> Here are my suggestions: >>> >>> c_rev <- function(x) cat(paste0('c("', gsub(', ', '", "', toString(x)), >>> '")\n')) >>> >>> df_rev <- function(x) { >>> X <- apply(x, 1, >>> function(x) { >>> paste0('c(', >>> paste0(shQuote(x), collapse = ", "), >>> ')' >>> ) >>> } >>> ) >>> command <- paste0( >>> 'rbind.data.frame(', >>> paste0( >>> X, >>> collapse = ",\n"), >>> ')') >>> return(cat(command, "\n")) >>> } >>> >>> Bo >>> >>> --- >>> bowerth.github.io >>> >>> [[alternative HTML version deleted]] >>> >>> ______________________________________________ >>> R-devel@r-project.org mailing list >>> https://stat.ethz.ch/mailman/listinfo/r-devel >>> >> >> > [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel