
useDynLib(miceadds)



######################################
########### IMPORTS ##################



#***************************************************
#*************** R Basics / Linking To *************


importFrom(graphics, par)
importFrom(graphics, plot)
importFrom(methods, is)
importFrom(Rcpp, evalCpp)
import(stats)
importFrom(utils, citation)
importFrom(utils, flush.console)
importFrom(utils, install.packages)
importFrom(utils, packageDescription)
importFrom(utils, read.csv)
importFrom(utils, read.csv2)
importFrom(utils, read.fwf)
importFrom(utils, read.table)
importFrom(utils, sessionInfo)
importFrom(utils, str)
importFrom(utils, write.csv)
importFrom(utils, write.csv2)
importFrom(utils, write.table)


#***************************************************
#************** Depends ****************************

import(mice)


#***************************************************
#************** Imports ****************************
 
importFrom(bayesm, rtrun)
importFrom(car, Anova) 
importFrom(foreign, read.spss) 
importFrom(grouped, grouped)
importFrom(inline, getDynLib)
importFrom(lme4, lmer)
importFrom(lme4, ranef)
importFrom(MASS, mvrnorm)
importFrom(MBESS, ci.reliability)
importFrom(mitools, MIcombine)
importFrom(mvtnorm, dmvnorm)
importFrom(mvtnorm, rmvnorm)
importFrom(multiwayvcov, cluster.vcov)
importFrom(pls, plsr)
importFrom(sirt, rowKSmallest2.sirt)
importFrom(sjmisc, write_spss)
importFrom(sjmisc, set_label)
importFrom(TAM, tam.pv)
importFrom(TAM, tam.latreg)






######################################
########### EXPORTS ##################


#############################
## exports
export(
    datalist2mids ,
    draw.pv.ctt ,
    mi.anova ,
    mice.impute.2l.contextual.norm ,
    mice.impute.2l.contextual.pmm , 
    mice.impute.2l.groupmean.elim , 
    mice.impute.2l.groupmean , 
    mice.impute.2l.latentgroupmean ,
    mice.impute.2l.plausible.values ,
    mice.impute.pmm3 , 
    mice.impute.pmm4 ,  
    mice.impute.pmm5 ,  
    mice.impute.pmm6 ,     
    mice.impute.tricube.pmm , 
    mice.impute.tricube.pmm2 , 
    mice.impute.weighted.norm ,
    mice.impute.weighted.pmm ,
    micombine.chisquare ,
    micombine.cor ,
    micombine.F ,
    pca.covridge ,
    Rhat.mice ,
    tw.imputation ,
    tw.mcmc.imputation ,
    write.mice.imputation ,
    kernelpls.fit2 ,
    write.pspp ,
    fast.groupmean ,
    mice.impute.2l.pls ,
    mice.impute.2l.pls2 ,
    fast.groupsum,
    ma.scale2 ,
    mice.1chain ,
    mice.impute.2l.eap ,
    mids2datlist  ,
    mice.impute.2lonly.norm2 ,
    mice.impute.2lonly.pmm2 ,
    str_C.expand.grid   ,
    crlrem ,
    cxxfunction.copy , 
    grep.vec , 
    index.dataframe , 
    load.Rdata , 
    save.Rdata , 
    output.format1 , 
    Reval , 
    round2 , 
    Rsessinfo , 
    scan.vec ,
    scan.vector , 
    source.all , 
    systime ,
    Revalpr ,
    Revalprstr  ,
    sumpreserving.rounding   ,
    ma.wtd.covNA , 
    ma.wtd.corNA ,     
    ma.wtd.meanNA , 
    ma.wtd.sdNA   ,
    load.Rdata2 ,
    load.data ,
    save.data,
    visitSequence.determine ,
    mice.nmi ,
    complete.mids.nmi ,
    complete.mids.1chain ,
    pool.mids.nmi,
    within.imputationList ,
    lm.cluster ,
    glm.cluster,
    NestedImputationList ,
    MIcombine.NestedImputationResultList ,
    mice.impute.grouped ,
    NMIcombine ,
    create.designMatrices.waldtest ,
    NMIwaldtest ,
    MIwaldtest ,
    jomo2datlist,
    NMIextract ,
    library_install
        )


#########################################
########### S3 METHODS ##################


#-- coef
S3method(coef, lm.cluster)
S3method(coef, glm.cluster)
S3method(coef, mipo.nmi)


#-- MIcombine
S3method(MIcombine,NestedImputationResultList)


#-- predict
S3method(predict,kernelpls.fit2)


#-- plot
S3method(plot, mids.1chain)


#-- summary
S3method(summary, mids.1chain)
S3method(summary, mids.nmi)
S3method(summary, mira.nmi)
S3method(summary, mipo.nmi)
S3method(summary, lm.cluster)
S3method(summary, glm.cluster)
S3method(summary, NMIwaldtest)
S3method(summary, MIwaldtest)


#-- vcov
S3method(vcov, lm.cluster)
S3method(vcov, glm.cluster)
S3method(vcov, mipo.nmi)


#-- with
S3method(with, mids.1chain)
S3method(with, mids.nmi)
S3method(with, NestedImputationList)


#-- within
S3method(within, imputationList)
S3method(within, NestedImputationList)

