Использование пакета R NNMAPSlite для получения набора данных "Городская среда против данных о смертности" - PullRequest
0 голосов
/ 26 февраля 2020

У меня есть несколько вопросов к тем, кто работал с R studio. В настоящее время мне нужно работать с пакетом NMMAPSlite. Однако я обнаружил, что существует проблема с самим пакетом, когда я хотел инициализировать соединение базы данных с удаленной БД, в которой хранится набор данных NMMAPS City .

Короче говоря, мне нужна помощь для либо

  • решите проблему со старым пакетом NMMAPSlite R, либо
  • , где найти набор данных NMMAPS в формате CSV

ОБЩАЯ ИНФОРМАЦИЯ

В качестве фона я использую NMMAPSLite пакеты с намерением воспроизвести бумагу Антонио Гаспаррини . Внизу прикреплена кодовая база, которую я хотел бы запустить. Требуется:

  1. require(dlnm);
  2. require(NMMAPSlite)

Теперь пакет NMMAPSlite кажется устаревшим, поэтому Мне удалось установить зависимости и пакет из архива. Ниже я подробно остановлюсь на ссылках, необходимых для получения зависимостей для NMMAPS и DLNM.

ПРОБЛЕМА

Проблемы возникают при вызове initDB() там, где это сказано не удалось создать экземпляр remoteDB из-за создания недопустимого объекта. Но я подозреваю, что скорее ошибка связана с тем, что URL не поддерживается. Вот NMMAPS docs , который описывает функцию initDB(). Инициализация базы данных необходима для чтения набора данных города.

Ниже приведена ошибка консоли R при запуске initDB()

creating directory 'NMMAPS' for local storage
Error in validObject(.Object) : 
  invalid class “remoteDB” object: object needs a 'url' of type 'http://'

In addition: Warning message:
In grep("^http://", URL, fixed = TRUE, perl = TRUE) :
  argument 'perl = TRUE' will be ignored 

ВОПРОСЫ

Я знаю, что эти пакеты NMMAPS устарели и, возможно, слишком старые, но я действительно хочу воспроизвести / воспроизвести Статья Антонио Гаспаррини: Распределенные нелинейные модели с задержкой для целей моего дипломного дипломного проекта.

Следовательно,

  1. Интересно, есть ли в любом случае получить набор данных NMMAPS для данных об окружающей среде городов и смертности. Я посетил официальную базу данных NMMAPS , но ссылка для загрузки данных либо не работает, либо сервер уже не работает
  2. Или вы также можете помочь мне выяснить, существует ли эквивалент пакета NMMAPSlite в R. Мне просто нужно скачать набор данных городов, который содержит тренды влажности , тренды температур , точки росы , тренды CO2 , Тренд озона O3 и смертность / смертность относительно времени в любом конкретном городе более 2 лет. Самое важное, что мне нужно, это коэффициент смертности и тренд озона O3 .
  3. Или последнее усилие, возможно, вы не возражаете предложить мне аналогичный набор данных, который используется его бумага? Что-то, где я могу получить / проанализировать временную зависимость для оценки уровня смертности с учетом информации о загрязнении окружающей среды и воздуха?

ПРИЛОЖЕНИЕ

Определение initDB

baseurl = "http://www.ihapss.jhsph.edu/NMMAPS/v0.1"

function (basedir = "NMMAPS") 
{
  if (!file.exists(basedir)) 
    message(gettextf("creating directory '%s' for local storage", 
      basedir))
  outcome <- new("remoteDB", url = paste(baseurl, "outcome", 
    sep = "/"), dir = file.path(basedir, "outcome"), name = "outcome")
  exposure <- new("remoteDB", url = paste(baseurl, "exposure", 
    sep = "/"), dir = file.path(basedir, "exposure"), name = "exposure")
  Meta <- new("remoteDB", url = paste(baseurl, "Meta", sep = "/"), 
    dir = file.path(basedir, "Meta"), name = "Meta")
  assign("exposure", exposure, .dbEnv)
  assign("outcome", outcome, .dbEnv)
  assign("Meta", Meta, .dbEnv)
}

Код для запуска : ошибка возникает из строки 3

require(dlnm);require(NMMAPSlite)
##############################
# LOAD AND PREPARE THE DATASET
##############################
initDB()
data <- readCity("ny", collapseAge = TRUE)
data <- data[,c("city", "date", "dow", "death", "tmpd", "dptp", "rhum", "o3tmean", "o3mtrend", "cotmean", "comtrend")]

# TEMPERATURE: CONVERSION TO CELSIUS
data$temp <- (data$tmpd-32)*5/9

# POLLUTION: O3 AND CO AT LAG-01
data$o3 <- data$o3tmean + data$o3mtrend
data$co <- data$cotmean + data$comtrend
data$o301 <- filter(data$o3,c(1,1)/2,side=1)
data$co01 <- filter(data$co,c(1,1)/2, side=1)

# DEW POINT TEMPERATURE AT LAG 0-1
data$dp01 <- filter(data$dptp,c(1,1)/2,side=1)

##############################
# CROSSBASIS SPECIFICATION
##############################
# FIXING THE KNOTS AT EQUALLY SPACED VALUES
range <- range(data$temp,na.rm=T)
ktemp <- range [1] + (range [2]-range [1])/5*1:4
# CROSSBASIS MATRIX
ns.basis <- crossbasis(data$temp,varknots=ktemp,cenvalue=21, lagdf=5,maxlag=30)

##############################
# MODEL FIT AND PREDICTION
##############################
ns <- glm(death ~ ns.basis + ns (dp01, df=3 ) + dow + o301 + co01 +
            ns(date,df=14*7),family=quasipoisson(), data) 
ns.pred <- crosspred(ns.basis,ns,at=-16:33)

##############################
# RESULTS AND PLOTS
##############################
# 3-D PLOT (FIGURE 1)
crossplot(ns.pred,label="Temperature")
# SLICES (FIGURE 2, TOP)
percentiles <- round(quantile(data$temp,c(0.001,0.05,0.95,0.999)), 1)
ns.pred <- crosspred(ns.basis,ns,at=c(percentiles,-16:33)) 
crossplot(ns.pred,"slices",var=percentiles,lag=c(0,5,15,28), label="Temperature")
# OVERALL EFFECT (FIGURE 2, BELOW)
crossplot(ns.pred,"overall",label="Temperature", title="Overall effect of temperature on mortality
New York 1987–2000" )
# RR AT CHOSEN PERCENTILES VERSUS 21C (AND 95%CI)
ns.pred$allRRfit[as.character(percentiles)]
cbind(ns.pred$allRRlow,ns.pred$allRRhigh)[as.character(percentiles),]

##############################
# THE MOVING AVERAGE MODELS UP TO LAG x (DESCRIBED IN SECTION 5.2)
# CAN BE CREATED BY THE CROSSBASIS FUNCTION INCLUDING THE
# ARGUMENTS lagtype="strata", lagdf=1, maxlag=x

Ресурсы для вашего контекста

  1. Распределенная задержка нелинейных моделей ссылка
  2. Пакет документов NMMAPSlite Rstudio pdf скачать
  3. Rstudio's Документы пакета DNLM pdf
  4. Повторяющиеся вопросы с другого форума: forum
  5. Как установить пакет из tar / archive: ссылка

Тем временем я свяжусь с автором этого пакета и посмотрю, смогу ли я получить набор данных. Предпочтительнее в формате CSV.

...