[R] Read code from character string

Johannes Huesing johannes at huesing.name
Sat Jun 19 10:56:47 CEST 2010


Greg Snow <Greg.Snow at imail.org> [Sat, Jun 19, 2010 at 12:44:48AM CEST]:
> There are a lot of other reasons to install the fortunes package that just the one fortune, there is much wisdom, some wit, (and then there are mine) throughout the package.
> 

Sorry, but I am subscribing to r-help already. I could not possibly
handle more wisdom and wit than this.

> There could be other ways to accomplish your goals, if you let us know more about what you are trying to do, we may be able to help you find a better way (that does not mean that you cannot still use eval and parse, but you may learn something, and/or avoid future pitfalls).

Ok, I want to demonstrate for educational purposes how to construct a
set of rules to validate a set of clinical data, and to make it issue
and export appropriate query messages. 

A rule would be a data structure containing the ID of the rule, the
rule in human readable language, an expression evaluating variables
within the environment of the appropriate data frame (and resolving to
a logical vector), possibly the data frame itself, and the query
message (possibly as an sprintf expression). The data structure may be
an S4 object or a list. In our current workflow, we manage the
validation rules using a spreadsheet, and import them into a
competitor's analysis software.

I could pass 

function(df) with(df, (vsstresn < 30 | vsstresn > 130) & vstestcd == "HR") 

as an argument, but "function(df) with(df," is sort of redundant, as I
expect it to be in every expression, plus it doesn't add much clarity
for the people writing and reading these conditions.

[...]
> Personally I have never regretted trying not to underestimate my own future
> stupidity.
>    -- Greg Snow (explaining why eval(parse(...)) is often suboptimal, answering
>       a question triggered by the infamous fortune(106))
>       R-help (January 2007)

Don't get me started about my current stupidity.

-- 
Johannes Hüsing               There is something fascinating about science. 
                              One gets such wholesale returns of conjecture 
mailto:johannes at huesing.name  from such a trifling investment of fact.                
http://derwisch.wikidot.com         (Mark Twain, "Life on the Mississippi")



More information about the R-help mailing list