Skip to content

how to fix a factor

4 messages · Giampiero Salvi, Chuck Cleland, Vaclav Petricek +1 more

#
Hi all,
I created a data frame with three factors, plus the response that
looks like this:

x1	x2	x3	y
a	1	1	0.3
a	2	1	0.1
b	1	1	0.4
c	4	3	0.1
...

I would like to analise the effect of two of them, keeping the third fixed
(I already know the effect of the last). The reason why I don't create several
data frames for each value of the thirs factor is simply convenience (I'd like
to be able to decide which factor I want to rule out)

for example I'd like to write something like

boxplot(y ~ x1 + x2, x3 == 1)

which of course doesn't work, otherwise I wouldn't write :-)

Is this possible and how?

Thank you
Giampiero
#
Giampiero Salvi wrote:
boxplot(y ~ x1 + x2, data = mydata[mydata$x3==1,])
#
On Fri, 19 Mar 2004, Giampiero Salvi wrote:

            
?boxplot

The subset parameter of boxplot might be what you are looking for.

Vaclav
#
Giampiero,

It's certainly possible.  

Many commands allow the "subset" option, which permits the analysis of only a 
portion of a dataframe, although boxplot does not.  

Also, you could preface your analysis with a logical condition, like 

my sample <- x3 == 1
boxplot(y[my sample] ~ x1[my sample] + x2[my sample])

You can wrap the preceding code in a for loop to apply it to each level of the 
factor.

Frank Harrell's useful mapply() will allow you to vectorize over more than one 
argument.  Look for it in the package Hmisc on CRAN.

Andrew
On Friday 19 March 2004 08:31, Giampiero Salvi wrote: