Skip to content
Back to formatted view

Raw Message

Message-ID: <OFD7228DF0.2E974BC3-ON802573B6.005AF53D-802573B6.005B3A2C@hsl.gov.uk>
Date: 2007-12-19T16:36:40Z
From: Richard Cotton
Subject: Aggregating by a grouping
In-Reply-To: <2893E11BC50DB445BC9E97835D9C219D0279F269@hsl.gov.uk>

> Suppose I have:
> 
> Book   Value 
> A   10 
> B   11 
> C   9 
> D   8 
> A   12 
> C   4 
> D   5 
> B   7 
> 
> I want to summarize above not by Book but by groupings of Books as in
> (below)
> 
> I have a list ... basic_map <- list(c("A",B"),c("C,D"))
> Big_names <- c("A1", "A2")
> Names(basic_map) <- big_names

Try this:

testdf <- data.frame(book=factor(c("A", "B", "C", "D", "A", "C", "D", 
"B")),  value=c(10,11,9,8,12,4,5,7))
bookgroup <- rep("A1", nrow(testdf))
bookgroup[testdf$book=="C" | testdf$book=="D"] <- "A2"
tapply(testdf$value, bookgroup, sum)

Regards,
Richie.

Mathematical Sciences Unit
HSL


------------------------------------------------------------------------
ATTENTION:

This message contains privileged and confidential inform...{{dropped:20}}