[R] creating a dynamic output vector

Ben Bolker bolker at ufl.edu
Thu Nov 8 05:03:40 CET 2007




Steve Powers wrote:
> 
> 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.
>>>
>>>     
>>
>>
> 
> ______________________________________________
> 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.
> 
> 

?get

-- 
View this message in context: http://www.nabble.com/creating-a-dynamic-output-vector-tf4767812.html#a13641002
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list