Thanks for that, the package looks very useful. It gave me the answer in a roundabout way - reminded me I needed to sue attach() so that the get () was only dealing with the objects in data.frame, rather than using the data.frame$factorname

I therefore managed to sort a work around, but will be looking at ggplot 2 for other things

the work around and the head of the data file is shown below

> head(data.all)
Line Capture_ID Landscape_Name Band_text Bird_ID Date CODE_LETTERS Site_Name Age_Class SEX_ Capture_Number Mass Season SEASON_CLASS EVC Moult Sine_Julian Cosine_Julian HCT Hb Site_Cond Logs_Length 10 10 10 Axe Creek 4260501 2275 7/11/2007 0:00 YTH Ax1 A F 1 21.5 Spring SS Heathy Dry Forest N -0.80 0.59 0.48 NA 43 5 13 13 13 Axe Creek 3713602 1170 8/11/2007 0:00 YTH Ax1 A F 1 21.5 Spring SS Heathy Dry Forest N -0.79 0.61 0.53 20.4 43 5 19 19 21 Axe Creek 3713603 1171 9/11/2007 0:00 YTH Ax1 A F 1 19.5 Spring SS Heathy Dry Forest N -0.78 0.62 0.53 NA 43 5 30 30 34 Axe Creek 3713604 1172 10/11/2007 0:00 YTH Ax1 U M 1 24.5 Spring SS Heathy Dry Forest Y -0.76 0.63 NA NA 43 5 31 31 35 Axe Creek 3713605 1173 10/11/2007 0:00 YTH Ax1 U U 1 NA Spring SS Heathy Dry Forest U -0.76 0.63 NA NA 43 5 32 32 36 Axe Creek 3713606 1174 10/11/2007 0:00 YTH Ax1 U M 1 23.5 Spring SS Heathy Dry Forest U -0.76 0.63 0.50 NA 43 5 Litter_Cov Understorey TreeCov H.L WBC BCI CCIPca1 YEAR Hab_Config
10       22.5          65    0.35  NA  NA       NA        NA 2007          D
13       22.5          65    0.35  NA  NA -3.11592 0.6215803 2007          D
19       22.5          65    0.35  NA  NA       NA        NA 2007          D
30       22.5          65    0.35  NA  NA       NA        NA 2007          D
31       22.5          65    0.35  NA  NA       NA        NA 2007          D
32       22.5          65    0.35  NA  NA       NA        NA 2007          D


sp.codes=levels(data.all$CODE_LETTERS)

for(spp in sp.codes) {


data.sp=subset(data.all,CODE_LETTERS==spp)

responses = colnames(data.all)[c(20,28,29,19)]
 #if (spp=="BT") responses = colnames(data.all)[c(19]#,20,26:29)]
groups=colnames   (data.all)[c(9,10)]        # ,13,16,30

attach(data.sp)
for (response in responses){
for (group in groups){
g=get(group)
r=get(response)
boxplot(r ~g, main=spp,xlab=group,ylab=response)

}
}
detach(data.sp)
}




On 29/04/2010 7:05 PM, Paul Hiemstra wrote:
Nevil Amos wrote:
I am trying to create a heap of boxplots, by looping though a series of factors and variables in a large data.frame suing paste to constrcut the facto and response names from the colnames
I thought I could do this using get()
however it is not working what am I doing wrong?
You don't give a reproducible example, this makes it hard to answer your question.

But not really in response to your question, take a look at histogram from the lattice package or geom_boxplot from the ggplot2 package. These functions can do all the work for you of drawing boxplots for a series of factors and variables in a large data.frame. This saves you a lot of time.

cheers,
Paul




______________________________________________
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.

Reply via email to