[R] Apply a function according to factor levels.
Rui Barradas
ruipbarradas at sapo.pt
Fri Aug 17 04:32:13 CEST 2012
Hello,
Or ?aggregate, depending on the wanted output. With the dataset provided
by the op, apply function mean.
dat <- read.table(text="
values ind sample
1 0.03325 1 1
2 0.03305 1 1
3 0.03185 1 1
[...etc...]
44 0.03060 5 4
45 0.06605 5 5
", header = TRUE)
tapply(dat$values, dat$sample, mean) # named vector
1 2 3 4 5
0.033556 0.011120 0.017750 0.030220 0.062060
aggregate(values ~ sample, data = dat, mean) # data.frame
sample values
1 1 0.033556
2 2 0.011120
3 3 0.017750
4 4 0.030220
5 5 0.062060
Hope this helps,
Rui Barradas
Em 17-08-2012 02:41, David L Carlson escreveu:
> ?tapply
>
> ----------------------------------------------
> David L Carlson
> Associate Professor of Anthropology
> Texas A&M University
> College Station, TX 77843-4352
>
>
>> -----Original Message-----
>> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
>> project.org] On Behalf Of li li
>> Sent: Thursday, August 16, 2012 8:31 PM
>> To: r-help
>> Subject: [R] Apply a function according to factor levels.
>>
>> Dear all,
>> I have a question on applying a function to the data according to
>> factor
>> levels.
>> For example, for the data below, what is the best way to apply a
>> function
>> to
>> "values" according to different levels of "samples" (1,2,3,4,5)?
>> values ind sample
>> 1 0.03325 1 1
>> 2 0.03305 1 1
>> 3 0.03185 1 1
>> 4 0.03515 1 1
>> 5 0.03375 1 1
>> 6 0.01180 1 2
>> 7 0.01850 1 3
>> 8 0.02915 1 4
>> 9 0.06200 1 5
>> 10 0.03230 2 1
>> 11 0.03345 2 1
>> 12 0.03385 2 1
>> 13 0.03605 2 1
>> 14 0.03225 2 1
>> 15 0.01145 2 2
>> 16 0.01805 2 3
>> 17 0.02950 2 4
>> 18 0.05995 2 5
>> 19 0.03425 3 1
>> 20 0.03575 3 1
>> 21 0.03535 3 1
>> 22 0.03380 3 1
>> 23 0.03410 3 1
>> 24 0.01050 3 2
>> 25 0.01735 3 3
>> 26 0.03140 3 4
>> 27 0.06170 3 5
>> 28 0.03430 4 1
>> 29 0.03185 4 1
>> 30 0.03165 4 1
>> 31 0.03380 4 1
>> 32 0.03235 4 1
>> 33 0.01100 4 2
>> 34 0.01825 4 3
>> 35 0.03045 4 4
>> 36 0.06060 4 5
>> 37 0.03280 5 1
>> 38 0.03350 5 1
>> 39 0.03215 5 1
>> 40 0.03545 5 1
>> 41 0.03285 5 1
>> 42 0.01085 5 2
>> 43 0.01660 5 3
>> 44 0.03060 5 4
>> 45 0.06605 5 5
>>
>>
>> Thank you.
>> Hannah
>>
>> [[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.
> ______________________________________________
> 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.
More information about the R-help
mailing list