[R] creating a dynamic output vector
Peter Alspach
PAlspach at hortresearch.co.nz
Wed Nov 7 23:41:29 CET 2007
Steve
Is this the sort of thing you mean?
output <- character(26)
names(output) <- paste('var', LETTERS[1:26], sep='')
output
output[paste('var', LETTERS[c(2,4,6,7,16)], sep='')] <- c(1, pi,
letters[1:3])
output
Peter Alspach
> -----Original Message-----
> From: r-help-bounces at r-project.org
> [mailto:r-help-bounces at r-project.org] On Behalf Of Steve Powers
> Sent: Thursday, 8 November 2007 11:27 a.m.
> To: r-help at r-project.org
> Subject: [R] creating a dynamic output vector
>
> Let's say I have a program that returns variables whose names
> may be any string within the vector
> NAMES=c("varA","varB","varC","varD","varE","varF"..."varZ"),
> but I do not ever know which ones have actually been created.
> So in one example output, "varA", "varC", and "varD" could
> exist, but in another example output "varA", "varD",
> "varE",and "varF" exist, with no pattern or predictability
> (different combinations can come out, as well as different
> numbers of variables).
>
> How do assign the output values, in pre-arranged order, into
> an output vector? The output vector for the first example
> would be OUTPUTS=c(varA, NA, varC, varD...) and the output
> vector for the second example would be OUTPUTS=c(varA, NA,
> NA, varD, varE, varF...). In other words, the rows for all
> potential returned values need to be retained in the order
> set by NAMES, and the values all need to be plugged into
> their respective spot in that order if they exist. Otherwise
> NA is plugged in.
>
> One other factor is that some outputs are values, but others
> are text. Tips?
>
>
> Using R version 2.4 on Windows XP
>
> ______________________________________________
> R-help at r-project.org mailing list
> 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.
>
More information about the R-help
mailing list