我正在分析拖网渔船的时序渔业数据。我使用strucchange软件包检测了1993年至2017年某个属性(拖网渔船的马力增加率)中的断点。这是每年的统计数据,我希望在此期间找到与渔业管理政策相对应的临界点。 breakpoints()函数检测到三个引爆点。但是,当我估计断点的置信区间时,我遇到了一个问题。第一点是1994,CI是NA。因此,当我尝试使用行()在图中添加CI时,它以错误报告失败,当我在r中打印confint对象时也会显示错误报告:
Error in if (any(obj$confint < 1) | any(obj$confint > obj$nobs)) warning(paste("Confidence intervals outside data time interval\n\t from ", :
missing value where TRUE/FALSE needed
我试图从冲突对象(ci_rht_ts)中省略NA,但确实找到了实现这一目标的线索。
以下是我的r代码:
r_ht.ts<-na.omit(r_ht.ts) ## r_ht.ts is the original data with two columns, one is 'Date', the other is 'R_h_tr' (the increase rate of horsepower of trawlers). There are some NAs in some years of my original data (originally 1950 - 2017, no data from 1950 - 1993).
r_ht.ts$Date<-as.Date(r_ht.ts$Date,format="%d/%m/%Y")
r_ht.ts$Date<-as.POSIXct(r_ht.ts$Date)
str(r_ht.ts)
r_ht.ts<-ts(r_ht.ts$R_h_tr,start = c(1993,1),end = c(2017,1),frequency=1)
rht_ts <- breakpoints(r_ht.ts ~ 1, h = 0.1)# get the breakpoints
ci_rht_ts<-confint(rht_ts)
ci_rht_ts # the error pops up as mentioned above
plot(r_ht.ts,xlab="Year",ylab="Increase rate of horsepower of trawlers")
lines(rht_ts)
lines(ci_rht_ts)
断点的置信区间 最佳4段分区:
致电:
confint.breakpointsfull(object = rht_ts)
观察点的断裂点:
2.5 % breakpoints 97.5 %
1 NA 2 NA
2 3 4 7
3 9 11 15
对应于中断日期:
Error in if (any(obj$confint < 1) | any(obj$confint > obj$nobs)) warning(paste("Confidence intervals outside data time interval\n\t from ", :
missing value where TRUE/FALSE needed
我希望在第一个断点处忽略confint对象中的NA,但为其余两个断点绘制CI。