Learn R Programming

⚠️There's a newer version (0.3.2) of this package.Take me there.

 

hpiR

This package intends to simplify and standardize the creation of house price indexes in R. It also provides a framework for judging the 'quality' of a given index by testing for predictive accuracy, volatility and revision. By providing these metrics various index methods (and estimators) can be accurately compared against each other.

While there are a (ever-increasing) variety of methods and models to use in house price index creation, this initial version (0.2.0) focuses on the two most common: repeat sales (transactions) and hedonic price. Base, robust and weighted estimators are provided when appropriate.

The package also includes a dataset of single family and townhome sales from the City of Seattle during 2010-2016 time period.

Please see the vignette for more information on using the package.

Also, please log issues or pull requests on this github page.

Installation

You can install hpiR from github with:

Install the released version from CRAN

  install.packages("hpiR")

Development version from GitHub:

  #install.packages("devtools")
  devtools::install_github("andykrause/hpiR")

Example

This is a basic example which shows you how to solve a common problem:


  library(hpiR)

  # Load prepared data
  data(ex_rtdata)

  # Create an index
  hpi <- rtIndex(trans_df = ex_rtdata,
                 estimator = 'robust',
                 log_dep = TRUE,
                 trim_model = TRUE,
                 smooth = TRUE)

Copy Link

Version

Install

install.packages('hpiR')

Monthly Downloads

207

Version

0.2.0

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Andy Krause

Last Published

August 8th, 2018

Functions in hpiR (0.2.0)

ex_sales

Subset of Seattle Home Sales
createSeries

Create a series of indexes
calcVolatility

Calculate index volatility
hedIndex

Create a full index object by hedonic approach
checkDate

Validate the date argument
hedModel

Estimate hedonic model for index creation
rtTimeMatrix

Create model matrix for repeat transaction approach
hpiModel.rtdata

Specific method for hpi modeling (rt approach)
seattle_sales

Seattle Home Sales
hpiModel.heddata

Specific method for hpi modeling (hed) approach)
createKFoldData

Create data for KFold error test
hedCreateTrans

Create data for `hed` approach
dateToPeriod

Convert dates to a relative period
calcInSampleError.rtdata

Calculate index errors in sample (rt approach)
rtModel.robust

Repeat transaction model approach with robust estimator
rtModel.weighted

Repeat transaction model approach with weighted estimator
plot.hpiaccuracy

Plot method for `hpiaccuracy` object
plot.hpiindex

Plot method for `hpiindex` object
hpiR

hpiR: A package for house price indexes
hedModel.robust

Hedonic model approach with robust estimator
hedModel.base

Hedonic model approach with base estimator
plot.seriesrevision

Plot method for `seriesrevision` object
plot.serieshpi

Plot method for `serieshpi` object
createKFoldData.rtdata

Create data for KFold error test (rt approach)
smoothSeries

Smooth all indexes in a series
smoothIndex

Smooth an index
calcSeriesAccuracy

Calculate the accuracy of a series of indexes
modelToIndex

Convert model results into a house price index
rtModel

Estimate repeat transaction model for index creation
plot.hpi

Plot method for `hpi` object
calcSeriesVolatility

Calculate volatility of a series of indexes
matchKFold

Helper function to make KFold data
matchKFold.heddata

Helper function to make KFold data
rtCreateTrans

Create transaction data for rt approach
matchKFold.rtdata

Helper function to make KFold data
rtIndex

Create a full index object by repeat transaction approach
rtModel.base

Repeat transaction model approach with base estimator
hedModel.weighted

Hedonic model approach with weighted estimator
hpiModel

Wrapper to estimate model approaches (generic method)
plot.indexvolatility

Plot method for `indexvolatility` object
plot.seriesaccuracy

Plot method for `seriesaccuracy` object
calcKFoldError

Calculate index error with FKold (out of sample)
buildForecastIDs

Create the row IDs for forecast accuracy
calcInSampleError.heddata

Calculate index errors in sample (hed approach)
buildForecastIDs.rtdata

Create the row IDs for forecast accuracy (rt approach)
buildForecastIDs.heddata

Create the row IDs for forecast accuracy (hed approach)
calcRevision

Calculate revision values of an index
calcAccuracy

Calculate the accuracy of an index
calcForecastError

Calculate the forecast accuracy of series of indexes
calcInSampleError

Calculate index errors in sample