R';plspm&x27;错误:路径矩阵必须是下三角矩阵(偏最小二乘路径建模/sem)

R';plspm&x27;错误:路径矩阵必须是下三角矩阵(偏最小二乘路径建模/sem),r,matrix,structural-equation-model,R,Matrix,Structural Equation Model,我试图在同名的R包中使用“plspm”函数评估SEM。我有两个相互竞争的模型: 模式1: A<-c(0,0,0) B<-c(1,0,0) C<-c(0,1,0) sat_path=rbind(A,B,C) innerplot(sat_path) A我已经找出了这是一个问题的原因。坐在同一个问题上,想不出如何解决它 我在维基上查了一下三角矩阵,发现三角矩阵是对角线上有0的矩阵。这意味着,为了能够创建模型2,您只需按照指定因子的顺序进行尝试 模式2 A<-c(0,1,0)

我试图在同名的R包中使用“plspm”函数评估SEM。我有两个相互竞争的模型:

模式1:

A<-c(0,0,0)
B<-c(1,0,0)
C<-c(0,1,0)
sat_path=rbind(A,B,C)
innerplot(sat_path)

A我已经找出了这是一个问题的原因。坐在同一个问题上,想不出如何解决它

我在维基上查了一下三角矩阵,发现三角矩阵是对角线上有0的矩阵。这意味着,为了能够创建模型2,您只需按照指定因子的顺序进行尝试

模式2

A<-c(0,1,0)
B<-c(0,0,0)
C<-c(0,1,0)
sat_path=rbing(A,B,C)

Aoh哇!你知道吗,我太习惯于看对角线下方的成对交互矩阵了,所以我只考虑从左上到右下的对角线!一、 他也曾向维基网站寻求答案,并对模型2为什么不符合法案感到困惑——这就是原因!谢谢你弄明白了,并发布了你的回复。很好的解决方法!
#Some play data:
Xdat<-rep(c(1,1,0,0,1),300)
XX<-matrix(Xdat,ncol=3,byrow=TRUE)
colnames(XX)<-c("A","B","C")
XX<-as.data.frame(XX)
attach(XX)

### Model 1: ####
pf<-c(0,0,0)
pm<-c(1,0,0)
po<-c(0,1,0)
sat_path=rbind(pf,pm,po)

# plot diagram of path matrix
innerplot(sat_path)

# blocks of outer model
sat_blocks = list(which(names(XX)=="A"), which(names(XX)=="B"), which(names(XX)=="C"))

# vector of modes (reflective indicators)
sat_mod = rep("A", 3)

# apply plspm
satpls = plspm(XX, sat_path, sat_blocks, modes = sat_mod,
               scaled = FALSE)

# plot diagram of the inner model
innerplot(satpls)

### Model 2: ####
A<-c(0,1,0)
B<-c(0,0,0)
C<-c(0,1,0)
sat_path=rbind(pf,pm,po)

# plot diagram of path matrix
innerplot(sat_path)

# blocks of outer model
sat_blocks = list(which(names(XX)=="A"), which(names(XX)=="B"), which(names(XX)=="C"))

# vector of modes (reflective indicators)
sat_mod = rep("A", 3)

# apply plspm
satpls = plspm(XX, sat_path, sat_blocks, modes = sat_mod,
               scaled = FALSE)
# this ends in an error (or should...!)
A<-c(0,1,0)
B<-c(0,0,0)
C<-c(0,1,0)
sat_path=rbing(A,B,C)
B<-c(0,0,0)
A<-c(1,0,0)
C<-c(1,0,0)
sat_path=rbing(B,A,C)