我想用混合Copula进行可靠性分析,现在,在朋友的帮助下,我已经完成了它‘RVMS_Fitted’.现在我想执行概率积分变换(PIT),但RVINEPIT的函数不能使用,因为RVINEPIT(DATA,RVM),这个RVM不是RVINEMATRIX,这是我的代码:

library(vineclust)
data1 <- read.csv("D:/ASTUDY/Rlanguage/Mix copula/data.csv", header = FALSE)
fit <- vcmm(data = data1, total_comp=3,is_cvine = 0)
print(fit)
summary(fit) 
RVMs_fitted <- list()
RVMs_fitted[[1]] <- VineCopula::RVineMatrix(Matrix=fit$output$vine_structure[,,1],
                                            family=fit$output$bicop_familyset[,,1],
                                            par=fit$output$bicop_param[,,1],
                                            par2=fit$output$bicop_param2[,,1])
RVMs_fitted[[2]] <- VineCopula::RVineMatrix(Matrix=fit$output$vine_structure[,,2],
                                            family=fit$output$bicop_familyset[,,2],
                                            par=fit$output$bicop_param[,,2],
                                            par2=fit$output$bicop_param2[,,2])
RVMs_fitted[[3]] <- VineCopula::RVineMatrix(Matrix=fit$output$vine_structure[,,3],
                                            family=fit$output$bicop_familyset[,,3],
                                            par=fit$output$bicop_param[,,3],
                                            par2=fit$output$bicop_param2[,,3])
RVM<-RVMs_fitted

meanx <- c(0.47,0.508,0.45,0.52,0.48)
sigmax <- c(0.318,0.322,0.296,0.29,0.279)
ux1<-pnorm(x[1],meanx[1],sigmax[1])
ux2<-pnorm(x[2],meanx[2],sigmax[2])
ux3<-pnorm(x[3],meanx[3],sigmax[3])
ux4<-pnorm(x[4],meanx[4],sigmax[4])
ux5<-pnorm(x[5],meanx[5],sigmax[5])
data <- c(ux1,ux2,ux3,ux4,ux5)
du=RVinePIT(data, RVM)
y=t(qnorm(t(du)))


Error: 
 In RVinePIT: RVM has to be an RVineMatrix object.

推荐答案

您在这里有多个问题:

  1. RVM是一个列表.但是,您try 在一个列表中容纳RVinePIT个数据,而它一次只能处理一个数据.
  2. 同样的道理也适用于y强.

我没有您的数据,但请try 使用其他数据.

以下是代码(它应该可以工作):

  library(vineclust)
  library(VineCopula)
data1 <- read.csv("D:/ASTUDY/Rlanguage/Mix copula/data.csv", header = FALSE)
fit <- vcmm(data = data, total_comp=3,is_cvine = 0)
print(fit)
summary(fit) 
RVMs_fitted <- list()
RVMs_fitted[[1]] <- RVineMatrix(Matrix=fit$output$vine_structure[,,1],
                                            family=fit$output$bicop_familyset[,,1],
                                            par=fit$output$bicop_param[,,1],
                                            par2=fit$output$bicop_param2[,,1])
RVMs_fitted[[2]] <- RVineMatrix(Matrix=fit$output$vine_structure[,,2],
                                            family=fit$output$bicop_familyset[,,2],
                                            par=fit$output$bicop_param[,,2],
                                            par2=fit$output$bicop_param2[,,2])
RVMs_fitted[[3]] <- RVineMatrix(Matrix=fit$output$vine_structure[,,3],
                                            family=fit$output$bicop_familyset[,,3],
                                            par=fit$output$bicop_param[,,3],
                                            par2=fit$output$bicop_param2[,,3])
RVM<-RVMs_fitted

meanx <- c(0.47,0.508,0.45,0.52,0.48)
sigmax <- c(0.318,0.322,0.296,0.29,0.279)
ux1<-pnorm(x[1],meanx[1],sigmax[1])
ux2<-pnorm(x[2],meanx[2],sigmax[2])
ux3<-pnorm(x[3],meanx[3],sigmax[3])
ux4<-pnorm(x[4],meanx[4],sigmax[4])
ux5<-pnorm(x[5],meanx[5],sigmax[5])
data <- c(ux1,ux2,ux3,ux4,ux5)### This must be a matrix to work with RVinePIT
du=lapply(1:3, function(i) RVinePIT(data, RVM[[i]]))
y <-lapply(1:3, function(i) t(qnorm(t(du[[i]]))))

R相关问答推荐

是否可以 Select 安装不带文档的R包以更有效地存储?

R形式的一维数字线/箱形图样式图表

x[[1]]中的错误:脚注越界

如何直接从Fortran到R的数组大小?

单个轮廓重叠条的单独图例

如何在一次运行中使用count进行多列计数

Ggplot2中的重复注记

一小时满足条件的日期的 Select

2个Rscript.exe可执行文件有什么区别?

仅在Facet_WRAP()中的相应方面包含geom_abline()

按多列统计频次

从R中发出的咕噜声中的BUG?

创建列并对大型数据集中的特定条件进行成对比较的更高效程序

将列的值乘以在不同数据集中找到的值

如何在访问之前下载的输入时同时上传和处理所有指定的shiny 输入?

如何为包创建自定义roxygen2标签?

无法保存gglot的所有pdf元素

从单个html段落中提取键-值对

如果缺少时间,如何向日期-时间列添加时间

我应该如何解决Raster程序包中未对齐的色条记号?