[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.
That will assure better answers.

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() ?
>>
>> Instead of:
>>
>> 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
>>> 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