我想基于相关矩阵而不是原始数据运行回归。我看过this post,但无法理解它。我如何在R中做到这一点?
下面是一些代码:
#Correlation matrix.
MyMatrix <- matrix(
c(1.0, 0.1, 0.5, 0.4,
0.1, 1.0, 0.9, 0.3,
0.5, 0.9, 1.0, 0.3,
0.4, 0.3, 0.3, 1.0),
nrow=4,
ncol=4)
df <- as.data.frame(MyMatrix)
colnames(df)[colnames(df)=="V1"] <- "a"
colnames(df)[colnames(df)=="V2"] <- "b"
colnames(df)[colnames(df)=="V3"] <- "c"
colnames(df)[colnames(df)=="V4"] <- "d"
#Assume means and standard deviations as follows:
MEAN.a <- 4.00
MEAN.b <- 3.90
MEAN.c <- 4.10
MEAN.d <- 5.00
SD.a <- 1.01
SD.b <- 0.95
SD.c <- 0.99
SD.d <- 2.20
#Run model [UNSURE ABOUT THIS PART]
library(lavaan)
m1 <- 'd ~ a + b + c'
fit <- sem(m1, ????)
summary(fit, standardize=TRUE)
字符串
1条答案
按热度按时间1mrurvl11#
这应该就可以了。首先,你可以将相关矩阵转换为协方差矩阵:
字符串
然后,你可以使用
lavaan
来沿着你在问题中提到的帖子来估计模型。注意,你需要提供大量的观测值来获得样本估计值。我在例子中使用了100,但是如果这没有意义,你可能想改变它。型