Computed theoretical power for N=100 and N=200 scenarios
This commit is contained in:
Modules/ado
personal
_
a
b
bidonc
calcscore.adocalcul.adocfa.adocheckfor2.adocheckfor2.hlpcheckvars.adocheckvars.hlpclv.adoclv.sthlpclv212.adoclv214.adoclv215.adoclv216.adoclv27.adoclv29.adocompart.adocompart2.adoconc.adoconvdiv.ado
d
dege.adodelta.adodescitems.adodescscale.adodescscalev1.1.adodescscalev1.adodetect.adodetect.hlpdetect2.adodropmissing.ado
e
files
Pop8204Dep.dtacantons.dtacommpct.dtacommunes.dtacommze.dtadccentre8002.dtadcfrance8002.dtanais8003.dtarpf829099.dtarph829099.dtarphf829099.dta
g
gammasym.adogammasym.hlpgausshermite.adogausshermite.hlpgausshermite1.adogausshermite2.adogausshermite3.adogeekel2d.adogeekel2d.hlpgeekel2d4.adogengroup.adogengroup.hlpgengutt.adogenscore.adogenscore.hlpguttmax.adoguttmax1.ado
grec
h
i
imputeitems - Copie.adoimputeitems v2.4.adoimputeitems.adoimputeitems.hlpimputeitems.txtimputeitems2.adoimputeitems_1.adoimputemok.adoimputemok.hlpimputerasch.adoimputerasch.hlpirtpoly.adoisvar.ado
k
l
loevH7.adoloevH72.adoloevH73.adoloevH73.hlploevHv1.hlploevh - Copie au 17 juin 2017.adoloevh v8.2.adoloevh.adoloevh.hlploevh8-1-3.adoloevh8.adoloevh81.adoloevh812.ziploevh813.adoloevh82.adolstrfun.ado
m
Multirsoort_indicefit.adomatrixlisthtml.adomdreplace.adomi_twoway.adomi_twoway.hlpmmsrm.adommsrm.hlpmmsrm2.adomsp.adomsp.hlpmsp66.adomsp66.hlpmsp82.ado
n
p
pcm - Copie.adopcm 3.4.adopcm 4.0.adopcm 4.1.adopcm 4.2 sauv le 8nov2019.adopcm 4.2.adopcm 5.1.adopcm 5.2.adopcm 5.3.adopcm 5.4.adopcm.adopcm.sthlppcm.zippcm21.adopcm22.adopcm23.adopcm3.2.adopcm3.3.adopcm3.adopcm44.adopcm5.adopcmodel.hlppcmodel.sthlppcmodel22.adopcmodel_v.adopcmodelplus.adopcmold.adopcmtest.adopcmtest.hlppcmtest.sthlppredraschwlm.ado
qualmosta
r
old
raschfit2.adoraschfit31.adoraschpower - Copie version SIM.adoraschpower1.5.adoraschpower1.adoraschpowerpcm.adoraschpowers.hlpraschtest2.adoraschtest82.adoraschtest83.adoraschtestv7732.adoraschtestv7761.adoraschtestv7762.adoraschtestv78 avant COVARIABLES.adoraschtestv782.adoraschtestv785.adoraschtestv7jf.adorsoort.dorsoort1 (2).adorsoort1.ado
raschfit.adoraschfit.hlpraschlong.adoraschlongitudinal2.adoraschpce.adoraschpower.adoraschpower.hlpraschpower33.adoraschpower4.adoraschpower5.adoraschpower51.adoraschpower511.adoraschpower52.adoraschpower53.adoraschpower54.adoraschpower55.adoraschpower56.adoraschpower58.adoraschpower59.adoraschres.adoraschres.hlpraschtest v8.10.1.adoraschtest.adoraschtest.hlpraschtestv7.adoraschtestv7.hlpraschtestv787.adoraschtestv7v8.10.1.adoraschtestv7v8.10.adoraschtestv7v88.adoraschtestv8.10.adoraschtestv86.adorel.adorepet.adorosali.adorosali.sthlprosali22.adorosali22.sthlprosali23.adorsbynpirt.adorsoort.adorsoort.hlprsoort11.ziprsoort12.adorsoort13.adorsoortBP.ados
old
sascfa.adosenspescore.adosf36fr v1.6.adosf36fr v1.7.adosf36fr.adosf36fr.hlpsf36fr.zipsf36fr1.4.adosf36fr1.5.adosf36frv13.adosimirt - Copie.adosimirt v4.1.adosimirt v4.2.adosimirt v4.3.adosimirt v4.4.adosimirt.adosimirt.hlpsimirt.zipt
tcm.adotestclv.adotodate.adotorumm.adotosas.adotraces v4.adotraces v5 avec items numeric ne marche pas - Copie.adotraces.adotraces.hlptraces3.adotraces32.adotraces33.adotri.adotrouve.ado
v
valid.adovalid.dlgvalid.hlpvalidscale.adovalidscale.ado (old)validscale.dlgvalidscale.hlpvalidscale.sthlpvalidscaleXX.ado
w
zip
backrasch2.zipclv214.zipdetect31.zipgammasym.zipgammasym22.zipgausshermite1.zipgeekel2d43.zipgengroup12.ziphcavar32.zipimputeitems.zipimputeitems24.zipimputemok21.zipimputerasch2.ziploevH.ziploevh8.zipmmsrm4.zipmohand.zipmsp.zipmsp81.zipnpirt.zipraschfit4.zipraschpower1.4.zipraschpower1.5.zipraschpower1.zipraschpower2.zipraschpower32.zipraschtest.zipraschtest8.zipraschtest86.zipraschtest87.zipraschtestv7.zipsf36fr13.zipsimirt.zipsimirt34.zipsimirt35.ziptraces33.zip
plus
_
_eststo.ado_eststo.hlp_get_mlogit_bv.ado_get_mlogit_bvecv.ado_peabbv.ado_pebase.ado_pebase.hlp_pecats.ado_pecats.hlp_peciboot.ado_peciboot.hlp_pecidelta.ado_pecidelta.hlp_peciml.ado_pecmdcheck.ado_pecollect.ado_pecollect.hlp_pedum.ado_pedum.hlp_peife.ado_peife.hlp_pemarg.ado_pemarg.hlp_penocon.ado_penocon.hlp_pepred.ado_pepred.hlp_perhs.ado_perhs.hlp_pesum.ado_pesum.hlp_petrap.ado_petrap.hlp_peunvec.ado_peunvec.hlp_pexstring.ado
a
b
bagroup.adobagroup.hlpbamat.adobamat.hlpbaplot.adobaplot.hlpbatplot.adobatplot.hlpbinolist.adobinolist.hlpblandaltman.adobollenstine.adobollenstine.sthlpbothlist.adobothlist.hlpbrant.adobrant.hlp
backup.trkc
caplog.adocaplog.hlpcase2alt.adocase2alt.hlpcfa1.adocfa1.hlpcfa1_lf.adocheckfor2.adocheckfor2.hlpchoplist.adochoplist.hlpcmdchk.adocollist.adocollist.hlpconcord.adoconcord.dlgconcord.hlpconfa.adoconfa.mataconfa.sthlpconfa_estat.adoconfa_estat.sthlpconfa_lf.adoconfa_lfm.adoconfa_p.adoconfirmdir.adoconfirmdir.hlpconvlist.adoconvlist.hlpcountfit.adocountfit.hlpcseplist.adocseplist.hlpcvarlist.adocvarlist.hlp
d
dellist.adodellist.hlpdelta.adodelta.hlpdifflist.adodifflist.hlpdiscrim2.adodiscrim2.hlpdropvars.adodropvars.hlp
e
elapse.adoelapse.hlpeq_g.hlpeqlist.adoeqlist.hlpespoisson.adoespoisson.hlpespoisson_ll.adoespoisson_p.adoestadd.adoestadd.hlpestout.adoestout.hlpestpost.adoestpost.hlpeststo.adoeststo.hlpesttab.adoesttab.hlpexspoisson.adoexspoisson_ll.adoexspoisson_p.ado
f
g
galbr.adogalbr.dlggalbr.hlpghquad.adoghquadm.adoghquadm.hlpgllam_ll.adogllamm.adogllamm.hlpgllapred.adogllapred.hlpgllarob.adogllas_yu.adogllasim.adogllasim.hlp
h
i
i2ci.adoicc23.adoicc23.hlpiccconf.adoiccconf.hlpice.adoice.hlpiclassr.adoiclassr.hlpiclassr2.adoiclassr2.hlpimputeitems.adoimputeitems.hlpinslist.adoinslist.hlpisvar.adoisvar.hlp
j
l
l1way.adol1way.hlplabbe.adolabbe.dlglabbe.hlplclist.adolclist.hlplconfa.mlibleastlikely.adoleastlikely.hlplistblck.adolistblck.hlplistcoef.adolistcoef.hlplistutil.hlplog2html.adolog2html.hlplog2html7.adolog2html7.hlplogout.adologout.hlp
m
maplist.adomaplist.hlpmeta.dlgmeta_dialog.hlpmetabias.adometabias.dlgmetabias.hlpmetacum.dlgmetafunnel.adometafunnel.dlgmetafunnel.hlpmetainf.adometainf.dlgmetainf.hlpmetan.adometan.dlgmetan.hlpmetan7.adometan7.dlgmetan7.hlpmetan_examples.adometaninf.adometaninf.dlgmetaninf.hlpmetannt.adometannt.dlgmetannt.hlpmetap.dlgmetareg.adometareg.dlgmetareg.hlpmetareg_ll.adometareg_p.adometareg_pm.adometatrim.dlgmhplot.adomicombine.adomicombine.hlpmijoin.adomijoin.hlpmisplit.adomisplit.hlpmisschk.adomisschk.sthlpmlogplot.adomlogplot.hlpmlogtest.adomlogtest.sthlpmlogview.adomlogview.hlpmnthlist.adomnthlist.hlpmvtab1.adomvtab1.hlp
n
nct.adonct.hlpnct2.adonct2.hlpnct2inv.adonct2inv.hlpnctinv.adonctinv.hlpnctn.adonctn.hlpnctncp.adonctncp.hlpnctprob.adonctprob.hlpnicenum.adonmlab.adonmlab.hlp
o
p
polych_ll.adopolychoric.adopolychoric.hlppolychoric.zippolychoricpca.adopolychoricpca.hlppolychoricpca.zippolyser_ll.adoposlist.adoposlist.hlppostlist.adopostlist.hlppraccum.adopraccum.hlpprchange.adoprchange.hlpprcounts.adoprcounts.hlpprdc.adoprdc.hlpprelist.adoprelist.hlpprgen.adoprgen.hlpprodlist.adoprodlist.hlpprtab.adoprtab.hlpprvalue.adoprvalue.hlpprwhich.ado
r
remcor.adoreop_ll.adoreopc_ll.adoreoprob.adoreoprob.hlpreplist.adoreplist.hlprevlist.adorevlist.hlprfpr_ll1.adorfprobit.adorfprobit.hlprotlist.adorotlist.hlp
s
sasexe.adosaswrapper.adosaswrapper.hlpsavasas.adosavasas.hlpsavastata.sassdpair.adosdpair.hlpseeout.adoseeout.hlpsellist.adosellist.hlpseqlist.adoseqlist.hlpshellout.adoshellout.hlpshortdir.adoshortdir.hlpsjlatex.adosjlatex.hlpsjlog.adosjlog.hlpsjlog_7.adosortlist.adosortlist.hlpspex.adospex.hlpspost.hlpspost_footer.ihlpspostupdate.adosublist.adosublist.hlpsumlist.adosumlist.hlp
stata.trkt
takelist.adotakelist.hlptmpdir.adotmpdir.hlptorumm.adotorumm.hlptraces.adotraces.hlptraj.adotraj.hlptraj.plugintrajplot.adotrajplot.hlptrnclist.adotrnclist.hlp
u
v
w
x
RProject
235
Modules/ado/personal/r/raschres.ado
Normal file
235
Modules/ado/personal/r/raschres.ado
Normal file
@ -0,0 +1,235 @@
|
||||
*! Version 1.2 June 3, 2013
|
||||
************************************************************************************************************
|
||||
* Stata program : raschres
|
||||
* Analysis of the residuals of the Rasch model
|
||||
* Version 1 : June 16, 2010
|
||||
* Version 1.1 : July 15, 2011
|
||||
* Version 1.2 : June 3, 2013 /*formatting outputs*/
|
||||
*
|
||||
*
|
||||
* Jean-benoit Hardouin, phD, Assistant Professor
|
||||
* EA4275 - SPHERE
|
||||
* Team of Biostatistics, Pharmacoepidemiology and Subjective Measures in Health Sciences
|
||||
* University of Nantes - Faculty of Pharmaceutical Sciences
|
||||
* France
|
||||
* jean-benoit.hardouin@univ-nantes.fr
|
||||
*
|
||||
* News about this program : http://www.anaqol.org
|
||||
*
|
||||
* Copyright 2010-2013 Jean-Benoit Hardouin
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
************************************************************************************************************/
|
||||
|
||||
program define raschres,rclass
|
||||
syntax varlist [if] [in] , diff(string) theta(varname) [genres(string) genfit(string) vargroup(varname) PCAres DETails]
|
||||
tempfile saveraschres
|
||||
if "`if'"!=""|"`in'"!="" {
|
||||
*keep `if' `in'
|
||||
}
|
||||
*qui save `saveraschres',replace
|
||||
|
||||
tempname res
|
||||
|
||||
qui count
|
||||
local ntotal=r(N)
|
||||
tokenize `varlist'
|
||||
local nbitems: word count `varlist'
|
||||
qui tempname score lt
|
||||
qui genscore `varlist',score(`score')
|
||||
qui gen `lt'=`theta'
|
||||
forvalues i=1/`nbitems' {
|
||||
local z2`i'=0
|
||||
}
|
||||
|
||||
forvalues i=1/`nbitems'{
|
||||
qui tempname p`i' res`i'
|
||||
qui gen `p`i''=exp(`lt'-`diff'[1,`i'])/(1+exp(`lt'-`diff'[1,`i']))
|
||||
qui gen `res'`i'=(1-`p`i'')/sqrt(`p`i''*(1-`p`i'')) if ``i''==1
|
||||
qui replace `res'`i'=(0-`p`i'')/sqrt(`p`i''*(1-`p`i'')) if ``i''==0
|
||||
}
|
||||
su
|
||||
local chi2=0
|
||||
forvalues i=1/`nbitems' {
|
||||
qui tempname res2
|
||||
qui gen `res2'`i'=`res'`i'^2
|
||||
qui su `res2'`i'
|
||||
local chi2=`chi2'+`r(sum)'
|
||||
label variable `res'`i' "``i''"
|
||||
}
|
||||
su
|
||||
tempname cor Ev
|
||||
matrix `cor'=J(`nbitems',`nbitems',.)
|
||||
local list
|
||||
forvalues i=1/`nbitems' {
|
||||
forvalues j=1/`nbitems' {
|
||||
qui corr `res'`i' `res'`j'
|
||||
matrix `cor'[`i',`j']=r(rho)
|
||||
}
|
||||
local list "`list' ``i''"
|
||||
}
|
||||
matrix colname `cor'=`list'
|
||||
matrix rowname `cor'=`list'
|
||||
qui pca `res'*
|
||||
matrix `Ev'=e(Ev)
|
||||
|
||||
tempname lt2 ltcl group df nbmiss rep total
|
||||
qui egen `nbmiss'=rowmiss(`varlist')
|
||||
qui gen `rep'=`nbitems'-`nbmiss'
|
||||
qui gen `lt2'=`lt' if `score'!=0&`score'!=`rep'
|
||||
if "`vargroup'"=="" {
|
||||
qui gengroup `lt2', newvar(`group') cont det minsize(33)
|
||||
}
|
||||
else {
|
||||
qui `group'=`vargroup'
|
||||
}
|
||||
qui su `group'
|
||||
local maxgroup=r(max)
|
||||
|
||||
if "`details'"!="" {
|
||||
di "{hline 42}"
|
||||
di _col(12) "Min" _col(29) "Max"
|
||||
di "{dup 42:-}"
|
||||
di "" _col(8) "" _col(14) "Latent" _col(28) "" _col(31) "Latent" _col(53) ""
|
||||
di "Group" _col(8) "Score" _col(15) "trait" _col(25) "Score" _col(32) "trait" _col(42) "n"
|
||||
di "{hline 42}"
|
||||
forvalues i=1/`maxgroup' {
|
||||
qui count if `group'==`i'
|
||||
local n`i'=r(N)
|
||||
qui su `score' if `group'==`i'
|
||||
local scoremin`i'=r(min)
|
||||
local scoremax`i'=r(max)
|
||||
qui su `lt' if `group'==`i'
|
||||
local ltmin`i'=r(min)
|
||||
local ltmax`i'=r(max)
|
||||
di "`i'" _col(9) %4.0f `scoremin`i'' _col(14) %6.3f `ltmin`i'' _col(26) %4.0f `scoremax`i'' _col(31) %6.3f `ltmax`i'' _col(39) %4.0f `n`i''
|
||||
}
|
||||
di "{hline 42}"
|
||||
}
|
||||
|
||||
local nj=0
|
||||
forvalues i=1/`nbitems' {
|
||||
qui count if ``i''!=.
|
||||
local nj=`nj'+r(N)
|
||||
}
|
||||
qui gen `df'=(`nj'-(`ntotal' + `nbitems' - 1 ))/`nj'*`rep'
|
||||
qui gen `total' =`score'
|
||||
local mult=(`nj'-(`ntotal' + `nbitems' - 1 ))/`nj'
|
||||
|
||||
|
||||
forvalues i=1/`nbitems' {
|
||||
qui count if (`total'!=0&`total'!=`rep')&``i''!=.
|
||||
local mult`i'=r(N)
|
||||
local df`i'=`mult'*`mult`i''
|
||||
tempname res2`i'
|
||||
qui gen `res2`i''=(`res'`i')^2
|
||||
qui su `res2`i'' if `total'!=0&`total'!=`rep'
|
||||
local sumsq`i'=r(sum)
|
||||
local fit`i'=(`sumsq`i''-`df`i'')/sqrt(2*`df`i'')
|
||||
}
|
||||
|
||||
qui gen `ltcl'=.
|
||||
forvalues g=1/`maxgroup' {
|
||||
qui su `lt' if `group'==`g'
|
||||
local ltgroup`g'=r(mean)
|
||||
local N`g'=r(N)
|
||||
qui replace `ltcl'=`ltgroup`g'' if `group'==`g'
|
||||
}
|
||||
forvalues i=1/`nbitems' {
|
||||
local chi`i'=0
|
||||
forvalues g=1/`maxgroup' {
|
||||
qui su ``i'' if `group'==`g'
|
||||
local po`i'_`g'=r(mean)
|
||||
local pe`i'_`g'=exp(`ltgroup`g''-`diff'[1,`i'])/(1+exp(`ltgroup`g''-`diff'[1,`i']))
|
||||
local std`i'_`g'=2*`N`g''*(`po`i'_`g''-`pe`i'_`g'')^2/sqrt(.5*(`po`i'_`g''+`pe`i'_`g'')*(1-.5*(`po`i'_`g''+`pe`i'_`g'')))
|
||||
local chi`i'=`chi`i''+`std`i'_`g''
|
||||
}
|
||||
di "chi item ``i'' = `chi`i''"
|
||||
}
|
||||
|
||||
local chisq=0
|
||||
tempname y2 vy2
|
||||
qui gen `y2'=0
|
||||
qui gen `vy2'=0
|
||||
forvalues i=1/`nbitems' {
|
||||
qui replace `y2'=`y2'+`res'`i'^2 if ``i''!=.
|
||||
qui replace `vy2'=`vy2'+2*tanh((`lt2'-`diff'[1,`i'])/2)*sinh(`lt2'-`diff'[1,`i']) if ``i''!=.
|
||||
tempname y2`i' vy2`i'
|
||||
qui gen `y2`i''=`res'`i'^2
|
||||
qui su `y2`i'' if `total'!=0&`total'!=`rep'&``i''!=.
|
||||
local sumy2`i'=r(sum)
|
||||
qui tab `ltcl'
|
||||
qui gen `vy2`i''=2*tanh((`lt2'-`diff'[1,`i'])/2)*sinh(`lt2'-`diff'[1,`i'])
|
||||
di "item ``i''"
|
||||
su `vy2`i'' if `total'!=0&`total'!=`rep'&``i''!=.
|
||||
local sumvy2`i'=r(sum)
|
||||
local fit`i'=(`sumy2`i''-`df`i'')/sqrt(`sumvy2`i'')
|
||||
local fit2`i'=`df`i''*(ln(`sumy2`i'')-ln(`df`i''))/sqrt(`sumvy2`i'')
|
||||
local chisq`i'=0
|
||||
forvalues g=1/`maxgroup' {
|
||||
qui su `y2`i'' if `group'==`g'&``i''!=.
|
||||
local sumy2`i'_g`g'=r(sum)
|
||||
local n`i'g`g'=r(N)
|
||||
qui su `vy2`i'' if `group'==`g'&``i''!=.
|
||||
local sumvy2`i'_g`g'=r(sum)
|
||||
local fit`i'_g`g'=(`sumy2`i'_g`g''-`n`i'g`g'')/sqrt(`sumvy2`i'_g`g'')
|
||||
local chisq`i'=`chisq`i''+(`fit`i'_g`g'')^2
|
||||
}
|
||||
local chisq=`chisq'+`chisq`i''
|
||||
/*fit2 est l'<27>quivalent de FitResid et chisq est correct*/
|
||||
}
|
||||
local RMSEA=sqrt(`chisq'/((`nbitems'*(`maxgroup'-1)-1)*(`ntotal'-1)))
|
||||
|
||||
di in gr "{hline 55}"
|
||||
di in gr "Items" _col(18) "FitResid" _col(31) "ChiSq" _col(42) "df" _col(55) "p"
|
||||
di in gr "{hline 55}"
|
||||
forvalues i=1/`nbitems' {
|
||||
di in ye abbrev("``i''",18) _col(19) %7.3f `fit2`i'' _col(30) %6.2f `chisq`i'' _col(40) %4.0f `=`maxgroup'-1' _col(50) %6.4f 1-chi2(`=`maxgroup'-1',`chisq`i'')
|
||||
}
|
||||
di in gr "{dup 55:-}"
|
||||
di in ye "Total" _col(30) %6.2f `chisq' _col(40) %4.0f `=(`maxgroup'-1)*`nbitems'' _col(50) %6.4f 1-chi2(`=(`maxgroup'-1)*`nbitems'',`chisq`i'')
|
||||
di in ye "RMSEA" _col(30) %6.4f `RMSEA'
|
||||
di in gr "{hline 55}"
|
||||
di
|
||||
|
||||
if "`pcares'"!="" {
|
||||
di "{hline 36}"
|
||||
di "Correlation matrix between residuals"
|
||||
di "{hline 36}"
|
||||
matrix list `cor',noheader format(%5.3f)
|
||||
di
|
||||
di "{hline 28}"
|
||||
di "Eigenvalues of the residuals"
|
||||
di "{hline 28}"
|
||||
matrix rowname `Ev'=Eigenvalues
|
||||
tempname Evp E
|
||||
matrix `Evp'=`Ev'/`nbitems'
|
||||
matrix `E'=`Ev' \ `Evp'
|
||||
matrix rowname `E'=Eigenvalues Proportion
|
||||
matrix list `E',noheader format(%5.3f)
|
||||
}
|
||||
|
||||
*use `saveraschres', clear
|
||||
local dfind=`df'/`ntotal'*`nbitems'
|
||||
if "`genfit'"!="" {
|
||||
qui gen `genfit'=`df'*(ln(`y2')-log(`df'))/sqrt(`vy2') `if' `in'
|
||||
}
|
||||
if "`genres'"!="" {
|
||||
forvalues i=1/`nbitems' {
|
||||
qui gen `genres'`i'=`res'`i' `if' `in'
|
||||
}
|
||||
}
|
||||
|
||||
end
|
Reference in New Issue
Block a user