[R] creating a dynamic output vector
Steve Powers
smpowers at wisc.edu
Thu Nov 8 00:42:09 CET 2007
Not exactly. That doesn't work for me. Because I don't actually know
what variables are created each time I run the program, I don't have an
easy way to call all the ones I need at once (which your suggestion
appears to require). But I do have a list of names for all the variables
I want. We need to match based on variable names I think.
Note that elements of NAMES correspond to exact variables, but with
quotes around them.
If I just knew how to tell R to call NAMES[1], NAMES[2], NAMES[3] etc.,
but without quotes (so that the variable itself is called, rather than
the header string), that might work. But when NAMES[1]="varA," the code
/
noquote(NAMES[1])/
literally returns /varA/, rather than the desired value/string that
comes out when I manually type the code varA. Weird.---steve
Peter Alspach wrote:
> 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