2016-07-20 78 views
1

如何使用帶有矢量的copula密度函數dcopula.t()使用dcopula.t和R QRM中的矢量,應用中的誤差... dim(X)必須具有正值長度

修改文檔中的示例,得到錯誤Error in apply(Udata, 2, qt, df = df) : must have a positive length。將它應用於整個矩陣工作中,所有文檔都需要一個向量。請參閱下面我舉的例子:

library("QRM", lib.loc="~/R/win-library/3.3") 
#Modified Example from the docs 
S <- equicorr(d = 6, rho = 0.7) 
data <- rcopula.t(2000, df = 4, Sigma = S) 

dcopula.t(data[1,], Sigma = S, df=4) 
#Get error: Error in apply(Udata, 2, qt, df = df) : must have a positive length 
is.vector(data[1,]) #True 

#this works 
dcopula.t(data, Sigma = S, df=4) 

非常感謝

+1

使用'dcopula.t(data [1:2,],Sigma = S,df = 4)'工作。所以,顯然,你不能將單個向量傳遞給copula。我很久沒有使用過copula,但我記得它與矢量之間的相關性有很大關係。如果只有一個矢量,則矢量之間不能有相關性。 – Marcel10

回答

0

嘗試使用copula::dCopula()。所有你需要的是:

Library(copula) 
Dens.t<- dCopula() 

這個包的手冊描述中提供了一些例子。

相關問題