Nothing
## ----setup, include=FALSE-----------------------------------------------------
knitr::opts_chunk$set(echo = TRUE)
## ----export-------------------------------------------------------------------
library(Ecdat)
availInPkg <- objects(2,
pattern='nuclearWeaponStates')
canWrite <- FALSE
(TempDir <- tempdir())
# Write the name of TempDir so I can find it.
# Or set
# TempDir <- getwd()
# for manual processing.
if('nuclearWeaponStates' %in% availInPkg){
data(nuclearWeaponStates)
TempFile <- file.path(TempDir,
'nuclearWeaponStates.csv')
canWr <- try(write.csv(nuclearWeaponStates,
TempFile, row.names=FALSE))
if(!inherits(canWr, 'try-error')){
canWrite <- TRUE
}
}
getwd()
dir(TempDir)
## ----readCSV------------------------------------------------------------------
library(Ecfun)
if(canWrite){
nWS <- read.csv(TempFile,
stringsAsFactors = FALSE)
igno <- c('nation', 'ctry', 'Maddison')
igno. <- (igno %in% names(nWS))
Dts <- c("firstTest", "startNucPgm")
Dts. <- (Dts %in% names(nWS))
nWSdf <-asNumericDF(nWS,
ignore=igno[igno.], Dates=Dts[Dts.])
}
## ----chk1---------------------------------------------------------------------
if(canWrite){
nmsNucWeapSt <- names(nWSdf)
if('firstTest' %in% nmsNucWeapSt){
firstTestYr <- lubridate::decimal_date(
nWSdf$firstTest)
yearsSinceLastFirstTest <- c(NA,
diff(firstTestYr) )
} else {
print(nmsNucWeapSt)
err <- paste("'firstTest' not in",
"names(nuclearWeaponStates)")
stop(err)
}
nuclearWeaponStates <- nWSdf
nuclearWeaponStates$firstTestYr <- firstTestYr
if('startNucPgm' %in% nmsNucWeapSt){
startNucPgmYr <- lubridate::decimal_date(
nWSdf$startNucPgm)
nuclearWeaponStates$startNucPgmYr <- startNucPgmYr
}
# else {
# print(nmsNucWeapSt)
# err2 <- paste("'startNucPgm' not in",
# "names(nuclearWeaponStates)")
# stop(err2)
# }
}
## ----nukes--------------------------------------------------------------------
if(canWrite){
nukes <- rowSums(nuclearWeaponStates[,
c('nYieldNA', 'nLowYield', 'nMidYield',
'nHighYield')])
dnuk <- (nuclearWeaponStates[,
'nuclearWeapons'] - nukes)
if(length(oopsNuk <- which(dnuk != 0))>0){
cat('count errors. bad rows =')
print(oopsNuk)
}
}
## ----plot---------------------------------------------------------------------
if(canWrite){
data(nuclearWeaponStates)
plot(yearsSinceLastFirstTest~firstTest,
nuclearWeaponStates, las=1,
type='h', xlab='', ylab='')
with(nuclearWeaponStates,
text(firstTest,
yearsSinceLastFirstTest, ctry))
}
## ----svg----------------------------------------------------------------------
if(FALSE){
svg('Time2nextNuclearState.svg')
cex. <- 1.5
plot(yearsSinceLastFirstTest~firstTest,
nuclearWeaponStates, las=1,
type='h', xlab='', ylab='',
cex.axis=cex.)
with(nuclearWeaponStates,
text(firstTest, yearsSinceLastFirstTest,
ctry, cex=cex.))
dev.off()
}
## ----save---------------------------------------------------------------------
if(canWrite){
cat('canWrite = TRUE')
save(nuclearWeaponStates,
file='nuclearWeaponStates.rda')
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.