Description Usage Arguments Details Value Author(s) Source References See Also Examples
View source: R/readFinancialCrisisFiles.R
Read financial crisis data in files described by an object of
class financialCrisisFiles
. This is designed to
read Excel files describing financial crises since 1800
downloaded from
http://www.reinhartandrogoff.com/data/browse-by-topic/topics/7/.
bankingCrises
is a data.frame
created by
readFinancialCrisisFiles()
using 3 files downloaded
from http://www.reinhartandrogoff.com and 1 obtained
from Prof. Reinhart in January 2013.
1 | readFinancialCrisisFiles(files, crisisType=7, ...)
|
files |
an object of class |
crisisType |
an integer (vector) between 1 and 8 indicating the type of data to be retrieved: 1=independence year (not a crisis but an indicator), 2=currency, 3=inflation, 4=stock market, 5=domestic soveregn debt crisis, 6=external sovereign debt crisis, 7=banking, 8=tally. ("Type" 1 = year.) These are all 0 or 1 indicating the presence of the event in the given year. Type 8 = sum of types 2 through 7. |
... |
arguments to pass with file and sheet name to
|
Reinhart and Rogoff (http://www.reinhartandrogoff.com) provide numerous data sets analyzed in their book, "This Time Is Different: Eight Centuries of Financial Folly". Of interest here are data on financial crises of various types for 70 countries spanning the years 1800 - 2010, downloadable from http://www.reinhartandrogoff.com/data/browse-by-topic/topics/7/.
The function financialCrisisFiles
produces a
list of class financialCrisisFiles
describing different
Excel files in very similar formats with one sheet per Country
and a few extra descriptor sheets. The data object
FinancialCrisisFiles
is the default output of that
function.
readFinancialCrisisFiles
reads the sheets for the
individual countries.
If length(crisisType) == 1, a data.frame
is returned
with the first column being year
, and with one other
column containing the data for that crisisType
for
each country.
If length(crisisType) > 1, a list is returned containing a data.frame for each country.
Spencer Graves
http://www.reinhartandrogoff.com
Carmen M. Reinhart and Kenneth S. Rogoff (2009) This Time Is Different: Eight Centuries of Financial Folly, Princeton U. Pr.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | ##
## Recreate / update the data object BankingCrises
##
library(Ecdat)
## Not run:
bankingCrises <- readFinancialCrisisFiles(FinancialCrisisFiles)
## End(Not run)
##
## Toy example using local data to check the code
## and illustrate returning all the data not just one crisisType
##
Ecdat.demoFiles <- system.file('demoFiles', package='Ecdat')
Ecdat.xls <- dir(Ecdat.demoFiles, pattern='xls$',
full.names=TRUE)
if(require(gdata)){
tst <- financialCrisisFiles(Ecdat.xls)
# optional tests if not CRAN
if(!fda::CRAN()){
bankingCrises.tst <- readFinancialCrisisFiles(tst)
allCrises.tst <- readFinancialCrisisFiles(tst, 1:8)
# Manually construct tst from allCrises.tst
tst2 <- data.frame(year=1800:1999)
tst2$Algeria <- as.numeric(allCrises.tst$Algeria[-(1:12), 8])
tst2$CentralAfricanRep <- as.numeric(
allCrises.tst$CentralAfricanRep[-(1:12), 8])
tst2$Taiwan <- as.numeric(allCrises.tst$Taiwan[-(1:11), 8])
tst2$UK <- as.numeric(allCrises.tst$UK[-(1:11), 8])
all.equal(bankingCrises.tst, tst2)
# check
data(bankingCrises)
all.equal(bankingCrises.tst,
bankingCrises[1:200, c('year', 'Algeria', 'CentralAfricanRep',
'Taiwan', 'UK')])
}
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.