Corrected error in dif parameterization for uncomplete answers
This commit is contained in:
@ -382,22 +382,52 @@ local checker: word 1 of `val'
|
||||
* replications avec 3 mod
|
||||
if (`checker' == 1) {
|
||||
local difitems1=dif1
|
||||
local difcheck = 0
|
||||
forvalues i=1/`nbitems' {
|
||||
qui sum item`i'
|
||||
local checker2 = r(max)
|
||||
if (`i'==`difitems1') {
|
||||
if (`checker2'==3) {
|
||||
local difcheck = 1
|
||||
local constrnt = "constraint 1 2*([1.item`i']_cons-([1.item`i']_cons+[1.item`i'] tt))=([2.item`i']_cons-([2.item`i']_cons+[2.item`i'] tt))"
|
||||
local constrnt2 = "constraint 2 3*([1.item`i']_cons-([1.item`i']_cons+[1.item`i'] tt))=([3.item`i']_cons-([3.item`i']_cons+[3.item`i'] tt))"
|
||||
}
|
||||
else {
|
||||
local constrnt = "constraint 1 2*([1.item`i']_cons-([1.item`i']_cons+[1.item`i'] tt))=([2.item`i']_cons-([2.item`i']_cons+[2.item`i'] tt))"
|
||||
}
|
||||
}
|
||||
}
|
||||
local mod "gsem "
|
||||
forvalues i=1/`nbitems' {
|
||||
qui sum item`i'
|
||||
local checker2 = r(max)
|
||||
if (`i'==`difitems1') {
|
||||
local mod = "`mod'"+"(1.item`i'<-THETA@1 tt)(2.item`i'<-THETA@2 tt)"
|
||||
if (`checker2'==3) {
|
||||
local mod = "`mod'"+"(1.item`i'<-THETA@1 tt)(2.item`i'<-THETA@2 tt)(3.item`i'<-THETA@3 tt)"
|
||||
}
|
||||
else {
|
||||
local mod = "`mod'"+"(1.item`i'<-THETA@1)(2.item`i'<-THETA@2)"
|
||||
local mod = "`mod'"+"(1.item`i'<-THETA@1 tt)(2.item`i'<-THETA@2 tt)"
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (`checker2'==3) {
|
||||
local mod = "`mod'"+"(1.item`i'<-THETA@1)(2.item`i'<-THETA@2)(3.item`i'<-THETA@3)"
|
||||
}
|
||||
else {
|
||||
local mod = "`mod'"+"(1.item`i'<-THETA@1)(2.item`i'<-THETA@2)"
|
||||
}
|
||||
}
|
||||
}
|
||||
if (`difcheck'==1) {
|
||||
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1 2)"
|
||||
}
|
||||
if (`difcheck'==0) {
|
||||
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1)"
|
||||
}
|
||||
qui `constrnt'
|
||||
if (`difcheck'==1) {
|
||||
qui `constrnt2'
|
||||
}
|
||||
qui `mod'
|
||||
mat V=r(table)
|
||||
mat W=V[1..2,1...]
|
||||
@ -719,26 +749,78 @@ local checker: word 1 of `val'
|
||||
if (`checker' == 1) {
|
||||
local difitems1=dif1
|
||||
local difitems2=dif2
|
||||
local difcheck = 0
|
||||
local difcheck2 = 0
|
||||
forvalues i=1/`nbitems' {
|
||||
qui sum item`i'
|
||||
local checker2 = r(max)
|
||||
|
||||
if (`i'==`difitems1') {
|
||||
if (`checker2'==3) {
|
||||
local difcheck = 1
|
||||
local constrnt = "constraint 1 2*([1.item`i']_cons-([1.item`i']_cons+[1.item`i'] tt))=([2.item`i']_cons-([2.item`i']_cons+[2.item`i'] tt))"
|
||||
local constrnt3 = "constraint 3 3*([1.item`i']_cons-([1.item`i']_cons+[1.item`i'] tt))=([3.item`i']_cons-([3.item`i']_cons+[3.item`i'] tt))"
|
||||
}
|
||||
else {
|
||||
local constrnt = "constraint 1 2*([1.item`i']_cons-([1.item`i']_cons+[1.item`i'] tt))=([2.item`i']_cons-([2.item`i']_cons+[2.item`i'] tt))"
|
||||
}
|
||||
}
|
||||
if (`i'==`difitems2') {
|
||||
if (`checker2'==3) {
|
||||
local difcheck2=1
|
||||
local constrnt2 = "constraint 2 2*([1.item`i']_cons-([1.item`i']_cons+[1.item`i'] tt))=([2.item`i']_cons-([2.item`i']_cons+[2.item`i'] tt))"
|
||||
local constrnt4 = "constraint 4 3*([1.item`i']_cons-([1.item`i']_cons+[1.item`i'] tt))=([3.item`i']_cons-([3.item`i']_cons+[3.item`i'] tt))"
|
||||
}
|
||||
else {
|
||||
local constrnt2 = "constraint 2 2*([1.item`i']_cons-([1.item`i']_cons+[1.item`i'] tt))=([2.item`i']_cons-([2.item`i']_cons+[2.item`i'] tt))"
|
||||
}
|
||||
}
|
||||
}
|
||||
local mod "gsem "
|
||||
forvalues i=1/`nbitems' {
|
||||
qui sum item`i'
|
||||
local checker2 = r(max)
|
||||
if (`i'==`difitems1'| `i'==`difitems2') {
|
||||
local mod = "`mod'"+"(1.item`i'<-THETA@1 tt)(2.item`i'<-THETA@2 tt)"
|
||||
if (`checker2'==3) {
|
||||
local mod = "`mod'"+"(1.item`i'<-THETA@1 tt)(2.item`i'<-THETA@2 tt)(3.item`i'<-THETA@3 tt)"
|
||||
}
|
||||
else {
|
||||
local mod = "`mod'"+"(1.item`i'<-THETA@1 tt)(2.item`i'<-THETA@2 tt)"
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (`checker2'==3) {
|
||||
local mod = "`mod'"+"(1.item`i'<-THETA@1)(2.item`i'<-THETA@2)(3.item`i'<-THETA@3)"
|
||||
}
|
||||
else {
|
||||
local mod = "`mod'"+"(1.item`i'<-THETA@1)(2.item`i'<-THETA@2)"
|
||||
}
|
||||
}
|
||||
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1 2)"
|
||||
}
|
||||
if (`difcheck'==1) {
|
||||
if (`difcheck2'==1) {
|
||||
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1 2 3 4)"
|
||||
}
|
||||
else {
|
||||
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1 2 3)"
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (`difcheck2'==1) {
|
||||
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1 2 4)"
|
||||
}
|
||||
else {
|
||||
local mod = "`mod'" + "(THETA<-tt), mlogit tol(0.01) iterate(500) latent(THETA) nocapslatent constraint(1 2)"
|
||||
}
|
||||
}
|
||||
qui `constrnt'
|
||||
qui `constrn2'
|
||||
qui `constrnt2'
|
||||
if (`difcheck'==1) {
|
||||
qui `constrnt3'
|
||||
}
|
||||
if (`difcheck2'==1) {
|
||||
qui `constrnt4'
|
||||
}
|
||||
qui `mod'
|
||||
mat V=r(table)
|
||||
mat W=V[1..2,1...]
|
||||
|
Reference in New Issue
Block a user