2017-05-04 2 views
1

同じ名前のRパッケージで 'plspm'関数を使ってSEMを評価しようとしています。モデル2R 'plspm'エラー:path_matrixは下三角行列(部分最小二乗パスモデリング/ sem)でなければなりません

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<-c(0,1,0) 
B<-c(0,0,0) 
C<-c(0,1,0) 
sat_path=rbind(A,B,C) 
innerplot(sat_path) 

はこのように、差は唯一のAの間の矢印の方向にあり、

モデル1:私は2つの競合モデルを持っていますB.

コードを実行すると(下を参照)、最初のモデル(モデル1)は回答を返します2番目のモデル(モデル2)は次のエラーを返します。

Error in check_path(path_matrix) : 'path_matrix' must be a lower triangular matrix

私の質問:WHYYYYYY ???!私は最初の行列が正しい形式である方法では論理を見ませんが、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...!) 

答えて

1

なぜこれが問題であるかを考え出しました。土は同じ問題で、それを解決する方法を理解できませんでした。

私はwiki上で三角行列を調べ、三角行列は対角に0がある行列であることを発見しました。つまり、モデル2を作成できるようにするには、要素を指定する順番を間違えないでください。 2

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

モデルは、代わりに次の操作を行います。 モデル2:

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

同じモデルではなく、三角行列を。

希望しますか?

関連する問題