Hi
r-help-bounces at r-project.org napsal dne 13.11.2007 23:29:25:
> 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?
I do not fully understand. You want to select subset of a data frame and
then to compute column mean?
If yes just use ?subset or construct a logical vector according to your
condition
lll <- (V1 == "A" | V1 == "B") & F1 == 0
mean(data[lll,"V2"])
Regards
Petr
>
> Thanks,
> Gang
>
>
> On Nov 13, 2007, at 5:30 AM, Petr PIKAL wrote:
> > Hi
> >
> > r-help-bounces at 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]]
>
> ______________________________________________
> R-help at 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.