strs.total=function(data,x,g,ni,Ni){ data=as.name(data); g=g; x=x; stratnames=levels(g) ni=ni; Ni=Ni; n=sum(ni); N=sum(Ni); fpci=(1-ni/Ni) cl.perc=sprintf("%.0f%%",.95*100) ybari=tapply(x,g,mean,na.rm=T) s2i=tapply(x,g,var,na.rm=T) ybar.strs=(1/N)*sum(Ni*ybari); tau.strs=N*ybar.strs vhat.ybar.strs=(1/N^2)*sum(Ni^2*fpci*(s2i/ni)) vhat.tau.strs=N^2*vhat.ybar.strs bound=round(2*sqrt(vhat.tau.strs),2) lower=tau.strs-bound; upper=tau.strs+bound cat("","\n","Results from StRS: Data =",data,"\n","Approximate Level of Confidence =", cl.perc,"\n","Strata =",stratnames,"\n","N =",N,"Ni =",Ni,"\n","n =",n,"ni =", ni,"\n","FPCs =",fpci,"\n","Tau.strs =",tau.strs,"\n","Vhat tau.strs =",vhat.tau.strs, "\n","Bound =",bound,"\n","Lower Bound =",lower,"Upper Bound =",upper,"\n","") results=list(tau.strs=tau.strs,data=data,g=g,x=x,ni=ni,Ni=Ni,fpci=fpci, vhat.tau.strs=vhat.tau.strs,bound=bound,lower=lower,upper=upper, cl.perc=cl.perc,stratnames=stratnames) } # to use the function with its call: # strs.total(data,x,g,ni,Ni) # data: name of dataset, in quotes # x: vector (data) # g: vector of stratum # ni: vector of sample sizes # Ni: vector of population size