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}}