Here is a script that will find all the atomic objects of length 1 and put them in a dataframe that you then use to determine what variables are there.
> a <- 1 # generate some atomic objects > b <- 1.3 > x.char <- "character string" > x.log <- TRUE > x.real <- pi > # get all atomic objects of length 1 > my.vars <- sapply(ls(), function(..x){ + .val <- get(..x) + if (is.atomic(.val) && (length(.val) == 1)) return(.val) + else return(NULL) + }) > # delete the NULLs > my.vars <- my.vars[!sapply(my.vars, is.null)] > # dataframe with values > str(do.call('data.frame', my.vars)) 'data.frame': 1 obs. of 5 variables: $ a : num 1 $ b : num 1.3 $ x.char: Factor w/ 1 level "character string": 1 $ x.log : logi TRUE $ x.real: num 3.14 On Nov 7, 2007 9:00 PM, Steve Powers <[EMAIL PROTECTED]> wrote: > Everyone is assuming I know what the output data are, or that they come > out from my model in some easily called vector. But I don't, and they do > not. The outputs are hidden, and all are separate variables that need to > be called. Also which ones come out after a given run will vary each > time. All I have to reference the desired output variables are the names > of every POTENTIAL output in character format, all in one vector. > > In any event, if anyone knows how to simply put all workspace variable > names into one character vector, and their values/strings in another > vector, that should work and I could take it from there (all I need are > the one element variables, not vectors or data frames). Initially I > messed around for awhile with ls() and ls.str() with no luck. Can't get > those data into a useful format. > > > > > jim holtman wrote: > > 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 <[EMAIL PROTECTED]> 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@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? ______________________________________________ R-help@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.