[R] creating a dynamic output vector
jim holtman
jholtman at gmail.com
Thu Nov 8 02:10:12 CET 2007
Here is a function that might do what you want:
> # function to create the output
> f.output <- function(dat){
+ # create the base output vector
+ output.base <- rep(NA,10)
+ names(output.base) <- paste("var", 1:10, sep='')
+ output.base[names(dat)] <- dat
+ output.base
+ }
>
> f.output(c(var1=10, var5=5, var2=2))
var1 var2 var3 var4 var5 var6 var7 var8 var9 var10
10 2 NA NA 5 NA NA NA NA NA
> f.output(c(var6=6, var10=10, var1=1))
var1 var2 var3 var4 var5 var6 var7 var8 var9 var10
1 NA NA NA NA 6 NA NA NA 10
> f.output(c(var4=4, var4=5)) # same variable with two values -- last one taken
var1 var2 var3 var4 var5 var6 var7 var8 var9 var10
NA NA NA 5 NA NA NA NA NA NA
>
On 11/7/07, Steve Powers <smpowers at wisc.edu> wrote:
> 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.
>
--
Jim Holtman
Cincinnati, OH
+1 513 646 9390
What is the problem you are trying to solve?
More information about the R-help
mailing list