我正在尝试为我的 LCA 协变量概率创建一个图,如here所述。我的协变量(6 级序数变量)的概率如下:
often <- as.data.frame(cbind(V1=c(13, 11, 12, 13, 12, 14),
V2=c(-0.1, -0.8, -0.2, -0.4, -0.5, -0.3)))
rownames(often) <- c("(Intercept)", "sui_thoughts_often2", "sui_thoughts_often3",
"sui_thoughts_often4", "sui_thoughts_often5", "sui_thoughts_often6")
often <- as.matrix(often)
代码的下一部分是将两个矩阵相乘,“经常”矩阵和创建的“pidmat”矩阵。
pidmat <- cbind(1, c(1:6))
exb <- exp(pidmat %*% often)
当我尝试执行第二行时,出现此错误:
Error in pidmat %*% often : non-conformable arguments
即使矩阵具有相同的维度?
我尝试操纵“pidmat”矩阵的维度,但无济于事,错误消息保持不变
因为对于矩阵点积,您需要将第一个矩阵的列数与第二个矩阵的行数相匹配。
矩阵点积的情况下,需要将
often
矩阵转置,然后相乘。这给你一个 6x6 矩阵。
exb <- exp(pidmat %*% t(often))
如果目的是进行逐元素乘法。然后这会给你一个 6x2 矩阵。
exb <- exp(pidmat * often)