#last modified January, 2024 by William Revelle 
#added the various imports from stats, graphics, etc.
importFrom(mnormt,rmnorm,sadmvn,dmnorm)
importFrom(parallel,mclapply,mcmapply)
importFrom(lattice,xyplot,strip.custom)
importFrom(nlme,lme,VarCorr)
importFrom(graphics,plot,pairs,points,abline,arrows,axis,barplot,box,curve,hist,image,layout,legend, lines,mtext,par,persp,plot.new,plot.window, polygon,rect,segments,strheight,strwidth,stripchart,text,axTicks,title,smoothScatter,matplot)

importFrom(stats,aov,cov,cor,cor.test,var,sd,median,mad,cov2cor,biplot,loess,predict,predict.lm,rnorm,dnorm,rbinom,rlnorm,density, kmeans, lm,lm.fit,loadings,complete.cases, na.omit,na.fail,nlminb,optim, quantile,qnorm, pnorm,qqnorm,qqline,qqplot,pchisq,qchisq,qt,pt,dt,pf,qf,ppoints,p.adjust,optimize,residuals,spline,symnum,terms,weighted.mean,promax,varimax,uniroot)

#importFrom(datasets,USArrests,attitude,Harman23.cor,Harman74.cor,ability.cov,iris)
importFrom(utils,head,tail,read.table,write.table,read.fwf,stack,example,download.file,getFromNamespace,untar,unzip,View)

importFrom(grDevices,colorRampPalette,topo.colors,devAskNewPage,dev.flush,dev.hold, palette, grey,rainbow,rgb,col2rgb,trans3d,adjustcolor)

importFrom(methods,new)

importFrom(tools,file_ext)
#importFrom(psychTools,read.file,read.file.csv,read.clipboard,read.clipboard.tab,read.clipboard.csv,read.clipboard.lower,read.clipboard.upper,write.file,write.file.csv,dfOrder)

#importFrom(foreign,read.spss,read.xport,read.systat) #these are imported in psychTools

S3method(print,psych)
S3method(biplot,psych)
S3method(pairs,panels)
S3method(plot,psych)
S3method(plot,irt)
S3method(plot,poly)
S3method(plot,poly.parallel)
S3method(plot,residuals)
S3method(plot,reliability)
S3method(predict,psych)
S3method(residuals,psych)
S3method(summary,psych)
S3method(anova,psych)
export(alpha,
alpha2r,
acs,
alpha.ci,
anova.psych,
AUC,
autoR,
bassAckward,
bassAckward.diagram,
bestItems,
bestScales,
biplot.psych,
bi.bars,
biserial,
bifactor,
biquartimin,
bigCor,
block.random,
CFA,
CFA.bifactor,
char2numeric,
nchar2numeric,
chi2r,
cancorDiagram,
circ.tests,
circ.sim,
circ.sim.plot,
circ.simulation,
circadian.cor,
circadian.phase,
cosinor.plot,
circadian.reliability,
circadian.linear.cor,
circadian.mean,
circadian.sd,
circadian.F,
circadian.stats,
circular.mean,
circular.cor,
cluster.cor,
cluster.fit,
cluster.loadings,
cluster.plot,
cluster2keys,
cohen.kappa,
cohen.d,
cohenPooled,
cohen.d.ci,
cohen.d.by,
cohen.profile,
cd.validity,
congruence,
con2cat,
correct.cor,
cor.plot,
corPlot,
cor.plot.upperLowerCi,
corPlotUpperLowerCi,
corFiml,
corInfo,
cor.wt,
cor2dist,
cor2cov,
#cor2latex,
cor.ci,
corCi,
cor.smooth,
cor.smoother,
corr.test,
corTest,
corr.p,
cortest,
cortest.bartlett,
cortest.jennrich,
cortest.mat,
cortest.normal,
count.pairwise,

comorbidity,
cosinor,
cosinor.period,
congeneric.sim,
cor2,
crossValidation,
crossValidationBoot,
cta,
cta.15,
cs,
d.ci,
d2r,
d2t,
d2OVL,d2OVL2,d2CL,d2U3,
#dfOrder,
d.robust,
distance,
#df2latex,
#dfOrder,
densityBy,
describe,
describeBy,
describe.by,
describeData,
describeFast,
diagram,
dia.shape,
dia.rect,
dia.ellipse,
dia.ellipse1,
dia.triangle,
dia.arrow,
dia.curve,
dia.curved.arrow,
dia.self,
multi.curved.arrow,
multi.rect,
multi.arrow,
multi.self,
dia.cone,
directSl,
distance,
draw.cor,
draw.tetra,
dummy.code,
eigenCi,
eigen.loadings,
ellipses,
equamax,
error.bars,
error.bars.by,
error.bars.tab,
error.crosses,
error.dots,
errorCircles,
esem,
esemDiagram,
esem.diagram, #until we fix psychTools
extension.diagram,
fa,
faBy,
faCor,
faRotate,
faRotations,
faRegression,
faReg,
fa.extension,
fa.extend,
fa.parallel,
fa.parallel.poly,
fa.graph,
fa.rgraph,
fa.congruence,
fa.stats,
fa.diagram,
fa2irt,
fa.random,
fa.sort,
#fa2latex,
fa.lookup,
fac,
fa.multi,
fa.multi.diagram,
fa.organize,
fa.poly,
fa.plot,
fa.pooled,
fa.sapa,
factor.congruence,
factor.fit,
factor.model,
factor.pa,
factor.minres,
factor.wls,
factor.plot,
factor.residuals,
factor.rotate,
factor.scores,
factor.stats,
factor2cluster,
#fileCreate,
#filesInfo,
#filesList,
#fileScan,
fisherz,
fisherz2r,
fparse,
fromTo,
fsi,
g2r,
geometric.mean,
harmonic.mean,
headtail,
headTail,
het.diagram,
histBy,
ICC,
#ICC2latex,
iclust,
ICLUST,
ICLUST.cluster,
iclust.diagram,
ICLUST.graph,
ICLUST.rgraph,
ICLUST.sort,
iclust.sort,
interp.median,
interp.quantiles,
interp.q,
interp.quart,
interp.quartiles,
interp.values,
interp.boxplot,
interp.qplot.by,
interbattery,
irt.fa,
irt.select,
irt.0p,
irt.1p,
irt.2p,
irt.discrim,
irt.item.diff.rasch,
irt.person.rasch,
irt.responses,
irt.se,
irt.stats.like,
irt.tau,
item.dichot,
item.sim,
item.lookup,
itemSort,
item.validity,
#irt2latex,
isCorrelation,
isCovariance,
glb,
glb.algebraic,
glb.fa,
guttman,
wkappa,
kaiser,
KMO,
keys.lookup,
keysort,
keys2list,
kurtosi,
lavaan.diagram,
lavParse,
levels2numeric,
lmCor,
lmDiagram,
lmCorLookup,
lmCor.diagram,
logit,
logistic,
logistic.grm,
lookup,
lookupItems,
lookupFromKeys,
lowerCor,
lowerMat,
lowerUpper,
make.congeneric,
make.hierarchical,
make.keys,
makePositiveKeys,
make.irt.stats,
manhattan,
mardia,
matMult,
matPlot,
matReg,
mat.regress,
matSort,
mat.sort,
"%+%",
mediate,
mediate.diagram,
moderate.diagram,
minkowski,
mixedCor,
mixed.cor,
mssd,
multi.hist,
multilevel.reliability,
mlr,
mlArrange,
mlPlot,
m2d,
m2t,
nfactors,
omega,
omega.diagram,
omega.graph,
omegah,
omegaSem,
omegaFromSem,
omegaDirect,
omegaStats,
#omega2latex,
outlier,
paired.r,
pairs.panels,
pairwiseCount,
pairwiseCountBig,
pairwiseDescribe,
pairwiseZero,
pairwiseImpute,
pairwisePlot,
pairwiseReport,
pairwiseSample,
parcels,
partial.r,
paSelect,
phi,
phi2tetra,
phi2poly,
phi2poly.matrix,
Pinv,
plot.psych,
plot.irt,
plot.poly,
plot.poly.parallel,
plot.reliability,
plot.residuals,
polar,
polychoric,
polydi,
polyserial,
poly.mat,
p.rep,
p.rep.f,
p.rep.r,
p.rep.t,
predict.psych,
predicted.validity,
principal,
pca,
print.psych,
progressBar,
Procrustes,
Promax,
psych,
phi.demo,
phi.list,
psych.misc,
quickView,
radar,
rangeCorrection,
#read.clipboard,
#read.clipboard.csv,
#read.clipboard.fwf,
#read.clipboard.tab,
#read.clipboard.lower,
#read.clipboard.upper,
#read.file,
#read.file.csv,
#read.https,
reliability,
residuals.psych,
reflect,
removeMissing,
resid.psych,
rescale,
response.frequencies, #deprecated
responseFrequency,
reverse.code,
r.con,
r.test,
r2c,
r2d,
r2t,
r2chi,
r2p,
rmssd,
RMSEA,
RV,
SAPAfy,
scaling.fits,
scatterHist,
scatter.hist,  #deprecated
score.alpha,  #deprecated
scoreItems,
score.items, #deprecated
scoreBy,
scoreFast,
scoreVeryFast,
scoreWtd,
score.multiple.choice,
scoreIrt,
scoreIrt.1pl,
scoreIrt.2pl,
score.irt, #deprecated
score.irt.2,
score.irt.poly,
scoreOverlap,
scree,
schmid,
scrub,
SD,
selectFromKeys,
sem.diagram,
sem.graph,
set.cor,#deprecated
setCor,
#setCor.diagram,
#setCorLookup,
shannon,
sim,
sim.anova,
sim.bonds,
sim.circ,
simulation.circ,
sim.congeneric,
simCor,
sim.correlation,
sim.dichot,
sim.general,
sim.item,
sim.spherical,
sim.minor,
sim.omega,
sim.parallel,
sim.rasch,
sim.irt,
sim.npl,
sim.npn,
sim.poly,
sim.poly.npl,
sim.poly.npn,
sim.poly.ideal,
sim.poly.ideal.npl,
sim.poly.ideal.npn,
sim.poly.mat,
sim.simplex,
sim.structure,
sim.structural,
sim.hierarchical,
sim.multilevel,
sim.multi,
sim.VSS,
smc,
spider,
splitHalf,
statsBy,
statsBy.boot,
statsBy.boot.summary,
summary.psych,
superCor,
superMatrix,
super.matrix,
structure.diagram,
structure.graph,
structure.list,
structure.sem,
tableF,
table2df,
table2matrix,
target.rot,
TargetQ,
TargetT,
test.psych,
test.all,
test.irt,
testRetest,
tenberge,
tetrachoric,
thurstone,
topBottom,
tr,
t2d,
t2r,
skew,
unidim,
varimin,
validityItem,
violin,
violinBy,
vgQ.bimin,
vgQ.targetQ,
vgQ.varimin,
VSS.parallel,
VSS.plot,
vss,
vssSelect,
VSS,
VSS.scree,
VSS.sim,
VSS.simulate,
winsor,
winsor.means,
winsor.mean,
winsor.sd,
winsor.var,
#write.file,
#write.file.csv,
Yule,
YuleCor,
YuleBonett,
Yule.inv,
Yule2phi,
Yule2phi.matrix,
Yule2poly,
Yule2poly.matrix,
Yule2tetra
)
