An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20110127/806ca03a/attachment.pl>
normalizing prizes to a specific year - how to?
2 messages · Martin Hvidberg, David Winsemius
On Jan 27, 2011, at 3:02 PM, Martin Hvidberg wrote:
Dear list I have a large data frame with house prices. Prices have been converted to price per m2, to be able to compare. Prices are spread over almost 10 years, each price is tagged with the year it relates to. I would like to 'normalize' all the prices to, eg. 2010 prices. The data frame looks like this
head(dafP)
Y P
1 2004 11199.60
2 2005 15310.10
3 2005 19491.50
4 2005 18656.70
5 2005 16092.00
6 2005 9929.08
Y is Year and P is price (in Danish Kroner) per m2
I looked in some old scripts and have written this:
dafP$Yav <- ave(dafP$P,dafP$Y,FUN=mean) # Yav. Prices Weight per Year,
i.e. Yearly mean
dafP$Pno <- dafP$P * (mean(dafP$P)/dafP$Yav) # Prize Normalized by
Year
Can any one comment on this:
*
This code only normalizes so all year get the same mean. How
would
I go about 'normalizing' to a specific year, eg. 2010?
? tapply Maybe something like: mn2010 <- head(dafP[which(dafP$Y==2010), "Yav"], 1) # get just first 2010 value with(dafP, tapply(P, Y, scale, center=mn2010) ) aggregate can be used with scale and may be better in some instances. Testing is not done here because you failed to provide a useful example.
David > > Best Regards > > Martin > > > -- > */ Martin Hvidberg > Tangg?rdsvej 22 > 2680 Solr?d > tlf.: 35 83 01 91 > email: Martin at Hvidberg.net /* > > > [[alternative HTML version deleted]] > > ______________________________________________ > 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. David Winsemius, MD West Hartford, CT