Am I misunderstanding loop variable assignment or how to use print()?
Hi,
On Thu, Dec 15, 2011 at 10:43 AM, Tony Stocker <akostocker at gmail.com> wrote:
On Thu, Dec 15, 2011 at 09:51, Sarah Goslee <sarah.goslee at gmail.com> wrote:
But "anova.ag.m2529.az" ?is a character string that happens to be the *name* of an anova object, but R has no way to know that unless you specifically tell it that your character string is an object by using get(). Something like print(get(x)) would work.
Sarah - Thanks very much! ?That did indeed work great at printing the entire contents out. ?I couldn't do print(get(x$Pr)), but I can live with that for now.
print(get(x)[["Pr"]]) maybe. Do the get(), then do the subsetting.
It's often neater and more efficient to store your anova objects in a list, though.
So if I were to do:
is.list(an)
[1] FALSE
alist<-list(an) is.list(alist)
[1] TRUE
alist
[1] "anova.ag.m2529.az" ? "anova.ag.m2529.can" ? "anova.ag.m2529.fl" I would have created a list, but I'm assuming that you mean something different than that since I'm not sure how that functionally changed anything since it's still a set of character strings. ?Could you elaborate a bit on what you mean by storing the anova objects as lists?
Yes: not the names, but the anova objects themselves. Rather than creating a bunch of individual objects, store them in a list when created: myanova <- list() myanova[["ag.m2529.az"]] <- anova(whatever) myanova[["ag.m2529.can"]] <- anova(whatever) ... Then you can quite elegantly use lapply() across all of the anovas at once, and don't have so many objects in your workspace. Sarah
Sarah Goslee http://www.functionaldiversity.org