Sorry to hijack this thread. I have a similar but slightly different  
situation. Using the original poster's example, how to elegantly get  
the mean of column V2 when column V1 is either A or C and F1 is 0?

Thanks,
Gang


On Nov 13, 2007, at 5:30 AM, Petr PIKAL wrote:
> Hi
>
> r-help-bounces@r-project.org napsal dne 13.11.2007 10:59:09:
>
>> Dear list,
>>
>> I have this dataframe
>>
>>    V1 V2 F1
>> 1  A  2  0
>> 2  A  3  0
>> 3  A  4  1
>> 4  B  3  0
>> 5  B  2  1
>> 6  C  6  0
>> 7  C  2  0
>> 8  C  6  0
>>
>> and would like to calculate a new column
>> with mean-values, following this rule
>>
>> 1. If F1 = 0 calculate the mean from V2
>> for each factor in V1.
>>
>> 2. If F1 = 1, then F1_mean = 0
>>
>> So, the new DF should look like this
>>
>>    V1 V2 F1 F1_mean
>> 1  A  2  0     2.5
>> 2  A  3  0     2.5
>> 3  A  4  1     0.0
>> 4  B  3  0     3.0
>> 5  B  2  1     0.0
>> 6  C  6  0     7.0
>> 7  C  2  0     7.0
>> 8  C  6  0     7.0
>
> I would use ave for computing mean for combination of V1 and F1 and  
> then I
> put all values of F1_mean for which F1 is 1 to 0
>
> test$F1_mean <- ave(test$V2, test$V1, factor(test$F1), FUN = mean)
> test$F1_mean[test$F1==1] <- 0
>
> Regards
> Petr
>
>>
>> Thank you for any help!
>>
>> Patrick Hausmann



	[[alternative HTML version deleted]]

