R SEM错误"尺寸数不正确

时间:2017-10-22 10:58:31

标签: r sem

#Loehlin problem 2.5 
obs.var2.5 = c('Ach1',  'Ach2',  'Amb1',  'Amb2',  'Amb3')
R.prob2.5 = matrix(c(
1.00 ,  .60  , .30,  .20,   .20,                                               
.60,  1.00,   .20,   .30,   .10,                                                
.30,   .20,  1.00,   .70,   .60 ,                                               
.20,   .30,   .70,  1.00,   .50,                                                
.20,   .10,   .60,  .50,  1.00), ncol=5,byrow=TRUE)    

#correlated factors structure (ambition <-> Achievement) 
model2.5=matrix(c(
'Ambit ->  Amb1',      'a', NA,
'Ambit -> Amb2' ,      'b', NA,
'Ambit -> Amb3' ,      'c', NA,
'Achieve -> Ach1',     'd', NA,
'Achieve -> Ach2',     'e', NA,
'Ambit <-> Achieve',   'f', NA,
'Amb1 <-> Amb1' ,      'u', NA,
'Amb2 <-> Amb2' ,      'v', NA,
'Amb3 <-> Amb3' ,      'w', NA,
'Ach1 <-> Ach1' ,      'x', NA,
'Ach2 <-> Ach2' ,      'y', NA,
'Achieve <-> Achieve',  NA, 1,
'Ambit <-> Ambit',      NA, 1),
ncol=3, byrow=TRUE)

sem2.5= sem(model2.5,R.prob2.5,60, obs.var2.5)
summary(sem2.5,digits=3)

****来自http://personality-project.org/r/r.sem.html

我试图简单地在那里重新创建结果,只需将代码原样复制/粘贴到一个jupyter笔记本中并逐块运行代码。

代码全部运行正常,直到我尝试重新创建模型:

ie:sem2.5 = sem(model2.5,R.prob2.5,60,obs.var2.5)

我一直收到这个错误:

Error in data[, obs.variables]: incorrect number of dimensions
Traceback:

1. sem(model2.5, R.prob2.5, 60, obs.var2.5)
2. sem.semmod(model2.5, R.prob2.5, 60, obs.var2.5)
------------------------------------------------------------

我到底想念的是什么?在对包依赖关系和版本控制进行了大量讨论之后,我觉得我只是在这里偷偷摸摸地看着我的答案。

我需要做什么才能将此模型重新创建为已发布?

1 个答案:

答案 0 :(得分:0)

该文件中有错误。您需要命名变量。

rownames(R.prob2.5) <-  colnames(R.prob2.5 ) <- c('Ach1',  'Ach2',  'Amb1',  'Amb2',  'Amb3’)
sem2.5= sem(model2.5,R.prob2.5,60)

那应该解决问题。

(2月15日更正)