Open daattali opened 5 years ago
As a workaround, I save the script as a file using writeLines()
and then read the resulting file in r2d3()
@daattali this is already supported, am I missing something? The only change from the code above is using script
instead of text
:
my_r3_code <- "
// !preview r2d3 data=c(0.3, 0.6, 3, 0.95, 0.40, 0.20), width=600
var barHeight = Math.ceil(height / data.length);
svg.selectAll('rect')
.data(data)
.enter().append('rect')
.attr('width', function(d) { return d * width; })
.attr('height', barHeight)
.attr('y', function(d, i) { return i * barHeight; })
.attr('fill', 'steelblue');
"
r2d3(data = c(0.3, 0.6, 0.8, 0.95, 0.40), script = my_r3_code)
If that's supposed to work, then yes, that's exactly what I was talking about!
But when I try to run that (Windows 7, R 3.5.2, r2d3 v0.2.3) I get an error
Error in dirname(script) : path too long
I didn't even think of trying that though because the documentation didn't sound like text rather than a script file would work. If this does work, it would be nice if the function documentation made that note.
Update: I just installed the package from github for the latest dev version and I'm still seeing the same error. @javierluraschi are you sure the code you provided works for you? If so, something strange is going on.
Many functions that require a file input also accept some sort of a
text
argument. For real production use this won't be recommended, but for making quick little scripts, for reproducibility (sharing a single code chunk online for example), for doing testing, for many little tasks it's useful to be able to do this.I'm envisioning something like this:
Now this can be ran and/or shared as one piece of code rather than mandating the creation of a separate file and saving it to disk and then coordinating finding its path.