我试图开发一个循环,它将帮助我动态地控制两个变量之间的相关性,同时保持其他变量的相关性不变。我已经完成了这一点,但我不能让循环在每个相关性水平的变量之间执行相关性。换句话说,我得到的唯一相关矩阵是在我指定的最后一个级别。我想使用cor函数得到每个级别的相关矩阵。这样我可以确保R执行我的循环正确,我可以在不同的统计应用中使用这些数据。所以我很清楚,这不是一个类项目,而是一个真实的项目。
下面是我使用到这一点的代码。
require("JWileymisc")
require("MASS")
cor.level <- c(0, .1, .2)
for (j in 1:length(cor.level)) {
V <- matrix(c(
1, cor.level[j], .096, .043, .109,
cor.level[j], 1, .400, -.016, .297,
.096, .400, 1, .092, .382,
.043, -.016, .092, 1, .103,
.109, .297, .382, .103, 1),
5, 5)
sigma <- c(.4421, 1.0880, 8.5073, .4700, 1.1249)
Sigma <- cor2cov(V, sigma)
mu <- c(.7337, 2.7300, 46.9970, 2.6002, 1.7491)
d <- data.frame(mvrnorm(n=300, mu, Sigma, 5, 5))
co <- cor(d)
co
}
字符串
我相信我的错误是非常简单的,但我没有看到它的时刻.有人会帮助我实现3个相关矩阵的每一个水平的cor.使用cor函数以上指定的水平?
1条答案
按热度按时间5ssjco0h1#
使用
for
循环。字符串
最好使用
lapply
。型
两者的输出:
型