[R] Splitting vector into individual elements
Liaw, Andy
andy_liaw at merck.com
Wed Sep 15 22:29:11 CEST 2004
do.call() is good for this, I believe:
> offred.rgb <- c(1, 0, 0) * 0.60
> offred.col <- do.call("rgb", c(as.list(offred.rgb), names="offred"))
> offred.col
[1] "#990000"
HTH,
Andy
> From: Paul Roebuck
>
> Is there a means to split a vector into its individual
> elements without going the brute-force route for arguments
> to a predefined function call?
>
> offred.rgb <- c(1, 0, 0) * 0.60;
>
> ## Brute force style
> offred.col <- rgb(offred.rgb[1],
> offred.rgb[2],
> offred.rgb[3],
> names = "offred")
> ## Desired style
> offred.col <- rgb(silver.bullet(offred.rgb),
> names = "offred")
>
> Neither of my attempts gets it right.
>
> silver.bullet.try1 <- function(x) {
> expr <- cat(x, sep = ",")
> return(parse(text = expr))
> }
>
> silver.bullet.try2 <- function(x) {
> expr <- expression(cat(x, sep = ","))
> return(eval(expr))
> }
>
> ----------------------------------------------------------
> SIGSIG -- signature too long (core dumped)
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
>
>
More information about the R-help
mailing list