[R] Boxplot across levels of a factor
Ivar Herfindal
Ivar.Herfindal at bio.ntnu.no
Tue Aug 24 08:41:14 CEST 2004
I think Paul wanted one plot for each box, not all boxes in one plot (sorry
if I misunderstand).
One way to solve this can be like this:
par(mfrow=c(1,3))
with(data, by(1:nrow(data), Type, function(x) boxplot(Locus[x]~data[x]))
Hope this works for you.
Ivar
On Tue, 24 Aug 2004 07:27:57 +0100 (BST), Prof Brian Ripley
<ripley at stats.ox.ac.uk> wrote:
> On Tue, 24 Aug 2004, Paul Boutros wrote:
>
>> Hello,
>>
>> I have a data-frame in which one-column is a factor:
>>
>> > str(data);
>> `data.frame': 194 obs. of 8 variables:
>> $ Type : Factor w/ 3 levels "Nuclear-Rec..",..: 1 2 2 2 2 2 2 2
>> 2 2
>> ...
>> $ Locus : num 0.000571 0.004000 0.001429 0.004857 0.007429 ...
>>
>> And I'd like to make a boxplot of the data$Locus values, where each
>> level of
>> the factor gets its own box-and-whiskers plot. I'm weak in R, but I
>> thought
>> there might be some shortcut to automating this instead of just creating
>> a
>> new data-structure with all the separate values?
>
> There are two. The simpler is
>
> boxplot(Locus ~ Type, data=data)
>
> and you can also use
>
> with(data, boxplot(split(Locus, Type)))
>
> (split() does automate the construction of a suitable data structure.)
>
More information about the R-help
mailing list