# [R] Calculating group means

Bert Gunter gunter.berton at gene.com
Mon Jan 27 15:22:29 CET 2014

1. Please cc anything but personal remarks to the list, not to me.

2. Your query is too vague for me to be sure -- a small reproducible
example of what you'd like would be very helpful here -- but I am
guessing that you want the ?ave function instead of by().

Cheers,
Bert

Bert Gunter
Genentech Nonclinical Biostatistics
(650) 467-7374

"Data is not information. Information is not knowledge. And knowledge
is certainly not wisdom."
H. Gilbert Welch

On Mon, Jan 27, 2014 at 4:27 AM, Laura Bethan Thomas [lbt1]
<lbt1 at aber.ac.uk> wrote:
> Hi Bert,
>
> Thank you very much for your help with my R issue. The code you suggested has worked- do you know of a way I can extract the averages this gives me into a data frame or table?
>
> Many thanks for tour help,
>
> Laura
>
> On 24 Dec 2013, at 07:28, Bert Gunter <gunter.berton at gene.com> wrote:
>
>> Jim:
>>
>> Did you forget about with() ?
>>
>>
>> by(lbtdat\$latency,list(lbtdat\$subject,
>>  lbtdat\$condition,lbtdat\$state),mean)
>>
>> ##do
>>
>> with(ibtdat,by(latency,list(subject,condition,state),mean))
>>
>>
>> Bert Gunter
>>
>> "Data is not information. Information is not knowledge. And knowledge
>> is certainly not wisdom."
>> H. Gilbert Welch
>>
>>
>>
>>
>> On Mon, Dec 23, 2013 at 6:37 PM, Jim Lemon <jim at bitwrit.com.au> wrote:
>>> On 12/23/2013 11:31 PM, Laura Bethan Thomas [lbt1] wrote:
>>>>>
>>>>> Hi All,
>>>>>
>>>>> Sorry for what I imagine is quite a basic question. I have been trying to
>>>>> do is create latency averages for each state (1-8) for each participant
>>>>> (n=13) in each condition (1-10). I'm not sure what function I would need, or
>>>>> what the most efficient ay of calculating this would be. If you have any
>>>>> help with that I would be very grateful.
>>>>>
>>>>> structure(list(subject = c(1L, 1L, 1L, 1L, 1L, 1L), conditionNo = c(1L,
>>>>> 1L, 1L, 1L, 1L, 1L), state = c(5L, 8L, 7L, 8L, 1L, 7L), latency = c(869L,
>>>>> 864L, 1004L, 801L, 611L, 679L)), .Names = c("subject", "conditionNo",
>>>>> "state", "latency"), row.names = 3:8, class = "data.frame")
>>>>>
>>> Hi Laura,
>>> You can do it like this:
>>>
>>> # make up enough data to do the calculation
>>> lbtdat<-data.frame(subject=rep(1:13,each=160),
>>> condition=rep(rep(rep(1:10,each=8),2),13),
>>> state=rep(rep(1:8,20),13),
>>> latency=sample(600:1100,2080,TRUE))
>>> by(lbtdat\$latency,list(lbtdat\$subject,
>>> lbtdat\$condition,lbtdat\$state),mean)
>>>
>>> but you are going to get a rather long list of means.
>>>
>>> Jim
>>>
>>> ______________________________________________
>>> R-help at r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-help