R语言卡方检验分析日本新冠空间数据运行报错求助
日本新冠病例空间统计卡方检验代码报错排查
我目前正在对日本不同地区的新冠阳性病例空间数据开展统计检验。
代码中Introduction标注的前置流程(含依赖包加载、数据读取、清洗、空间邻接关系构建、观测/期望值计算等)均可正常运行,但Problem area标注的卡方检验相关代码运行时持续抛出错误,暂未定位到错误诱因。若能协助提供解决方案,在此先行致谢。
- 分析数据集获取链接:日本新冠分析数据集
运行环境
- 硬件:2018款MacBook Pro
- 系统:macOS Monterey
- 运行平台:RStudio Cloud
Introduction(前置可运行代码段)
library(spdep) library(sf) library(spatstat) library(tidyverse) library(ggplot2) library(DCluster) library(splancs) needs::prioritize(magrittr) covid19j <- readr::read_csv("https://raw.githubusercontent.com/kaz-ogiwara/covid19/master/data/prefectures.csv") covid19j_20200613 <- dplyr::filter(covid19j, year==2020, month==6, date==13) covid19j_20200613$CODE <- 1:47 covid19j_20200613[is.na(covid19j_20200613)] <- 0 covid19j_20200613$serious <- as.numeric(covid19j_20200613$serious) pop19 <- readr::read_csv("/cloud/project/covid19_data/covid19_data/pop2019.csv", locale=locale(encoding="UTF8")) covid19j_20200613 <- dplyr::inner_join(covid19j_20200613, pop19, by = c("CODE" = "CODE")) jpn_pref <- sf::st_read("/cloud/project/covid19_data/covid19_data/jpn_pref.shp") jpn_pref_cov19 <- dplyr::inner_join(jpn_pref, covid19j_20200613, by=c("PREF_CODE"="CODE" )) covid19j_20200613$deaths <- as.numeric(covid19j_20200613$deaths) covid19j_20200613$POP2019 <- as.numeric(covid19j_20200613$POP2019) covid19j_20200613$deaths_rate <- covid19j_20200613$deaths / covid19j_20200613$POP2019 * 100 covid19j_20200613$testPos_rate <- covid19j_20200613$testedPositive / covid19j_20200613$peopleTested jpn_pref <- sf::st_read('/cloud/project/covid19_data/covid19_data/jpn_pref.shp') jpn_pref_cov19 <- dplyr::inner_join(jpn_pref, covid19j_20200613, by=c("PREF_CODE"="CODE")) pref_pnt <- sf::st_read('/cloud/project/covid19_data/covid19_data/pref_gov.shp') pref_coord <- data.frame(sf::st_coordinates(st_centroid(pref_pnt))) pref.tri.nb <- sf::st_coordinates(st_centroid(pref_pnt)) %>% spdep::tri2nb() covid19_OE <- data.frame(Observed=covid19j_20200613$deaths) covid19_OE <- cbind(covid19_OE, Expected=pop19$POP2019*sum(covid19j_20200613$deaths)/sum(pop19$POP2019), x=pref_coord$X, y=pref_coord$Y )
Problem area(报错代码段)
# 第一段测试代码 achisq.stat(covid19_OE, lambda=1) # 报错输出: # Error in if (sum(data$Observed) == sum(data$Expected)) { : # missing value where TRUE/FALSE needed # 第二段测试代码 achisq.test(Observed~offset(log(Expected)), covid19_OE, model="poisson", R=100) # 报错输出: # Error in `$<-.data.frame`(`*tmp*`, "Observed", value = numeric(0)) : # replacement has 0 rows, data has 47 # 第三段测试代码 covid19_achb_pb <- boot(covid19_OE, statistic=achisq.pboot, sim="parametric", ran.gen=poisson.sim, R=100) # 报错输出: # Error in h(simpleError(msg, call)) :
内容的提问来源于stack exchange,提问作者farinelli
相关产品推荐
相关产品推荐

