Skip to content
Back to formatted view

Raw Message

Message-ID: <52B8F376.50109@bitwrit.com.au>
Date: 2013-12-24T02:37:42Z
From: Jim Lemon
Subject: Calculating group means
In-Reply-To: <94BBEA78-3B6F-43B0-8669-3C7D3D64D74C@aber.ac.uk>

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