r - R包copula:cCopula中的维度顺序重要吗?
问题描述
我试图cCopula
从 R 的copula
包中获取一个以一维值为条件的样本。当条件值在第一维而不是其他维时,我得到了预期的行为。
第一个维度按预期工作:
cc <- claytonCopula(.5, dim = 2)
U <- cCopula(cbind(.1, runif(1000)), copula = cc, inverse = TRUE)
> head(U)
[,1] [,2]
[1,] 0.1 0.02399811
[2,] 0.1 0.51941744
[3,] 0.1 0.54457839
[4,] 0.1 0.30212338
[5,] 0.1 0.16368668
[6,] 0.1 0.43865921
第二个没有。我希望 .1 是第二列中的值。
U <- cCopula(cbind(runif(1000), .1), copula = cc, inverse = TRUE)
head(U)
[,1] [,2]
[1,] 0.85596900 0.19792006
[2,] 0.05069967 0.02663780
[3,] 0.87673450 0.20056410
[4,] 0.52156481 0.14809874
[5,] 0.42508008 0.13026719
[6,] 0.04852083 0.02567477
我的问题是:顺序是否重要cCopula
?如果是,我该如何解决它,如果不是,我做错了什么?
解决方案
顺序确实很重要cCopula
。检查该Value
功能的文档中的部分。每列“包含条件 copula 函数值”,以它之前的列为条件。
不知道为什么您希望0.1
在第二个示例中有一列;即使在第一个示例中,第二列也不是随机统一值:
set.seed(1)
cc <- claytonCopula(.5, dim = 2)
Z <- cbind(.1, runif(1000))
U <- cCopula(Z, copula = cc, inverse = TRUE)
> head(Z)
[,1] [,2]
[1,] 0.1 0.2655087
[2,] 0.1 0.3721239
[3,] 0.1 0.5728534
[4,] 0.1 0.9082078
[5,] 0.1 0.2016819
[6,] 0.1 0.8983897
> head(U)
[,1] [,2]
[1,] 0.1 0.2293643
[2,] 0.1 0.3274950
[3,] 0.1 0.5232455
[4,] 0.1 0.8893238
[5,] 0.1 0.1723588
[6,] 0.1 0.8777835
推荐阅读
- c++ - C++ 对编译的多重定义
- tensorflow - tensorflow(lambda 文本,标签:文本)仅文本并使用 pyspark 进行调整
- bash - npm 不会安装 sass 并且无法输入密码
- c# - azure 函数应用程序中的 LINQ 子查询返回错误消息
- sql-server - 外部应用内的 WITH 语句
- node.js - 如何从文件夹中删除已添加的 developer-pop?
- java - 在 jar 中获取代码以运行,而无需在 Tomcat 中显式调用
- keycloak - 细粒度权限 - 管理员 (v13.0.1)
- node.js - MVC 与 Nest.js 的正确做法
- certificate - 创建自定义站点印章