Você chamou a função com dois escalares:<div><br></div><div><span class="Apple-style-span" style="font-family: Arial; ">sphericity.test(10,2)</span></div><div><font class="Apple-style-span" face="Arial"><br></font></div><div>
<font class="Apple-style-span" face="Arial">O segumento argumento tem que ser uma matriz de covariância, e não um escalar (2, no caso).<br></font><br><div class="gmail_quote">2011/10/9 Mauro Sznelwar <span dir="ltr"><<a href="mailto:sznelwar@uol.com.br">sznelwar@uol.com.br</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><u></u>
<div bgcolor="#ffffff">
<div><font face="Arial" color="#0000ff"><strong>Estava olhando a discussão, tentei
rodar a função e não consegui, como faço?</strong></font></div>
<div><font face="Arial" size="2"></font> </div>
<div><font face="Arial" size="2">sfericity.test<-function(n,s1,s2=NULL,estsigma=TRUE){<br>+ ####
Performs a hypothesis test that a covariance matrix is of specified <br>+ ####
form. Test is of the form H0: S1=sigma^2*S2. n is the number of<br>+ ####
observations on which the sample covariance matrix is based.<br>+ #### If the
input parameter estsigma is TRUE: <br>+ #### Perform test of the hypothesis that
S1=sigma^2 S2, for unknown sigma. <br>+ #### If S2 not specified, assumed that
S2=I. Reference is Basilevsky, <br>+ #### Statistical Factor Analysis and
Related Methods, page 191. <br>+ #### If the input parameter estsigma is FALSE:
<br>+ #### Perform test of the hypothesis that S1=S2. If S2 not specified, <br>+
#### assumed that S2=I. Reference is Seber, Multivariate Observations, <br>+
#### sec 3.5.4 <br>+ #### Only the lower triangle+diagonal is required at entry,
and the upper <br>+ #### triangle is ignored. <br>+ #### DAW July 2000<br>+
dname <- paste(substitute(s1))<br>+ p<-nrow(s1)<br>+ for (i in
1:(p-1)){for (j in ((i+1):p)){<br>+
s1[i,j]<-s1[j,i]<br>+ s2[i,j]<-s2[j,i] }}<br>+ if
(!is.null(s2)){<br>+
b<-eigen(s2,symmetric=T,only.values=F)<br>+
r<-b$vectors %*% diag(1/sqrt(b$values))<br>+
s<-t(r) %*% s1 %*% r }<br>+ else { s<-s1 }<br>+ <br>+
d<-eigen(s,symmetric=T,only.values=T)$values<br>+ ldet<-sum(log(d))<br>+
tr<-sum(d)<br>+ <br>+ if (estsigma==TRUE){<br>+
sighat<-tr/p<br>+
cc<--(n-(2*p^2+p+2)/(6*p))*(ldet-p*log(tr/p))<br>+
statistic <- cc<br>+
sighat<-sighat<br>+ names(statistic) <- "L
statistic"<br>+ parameter <-
0.5*(p+2)*(p-1)<br>+ names(parameter) <-
"df"<br>+
rval<-list(<a href="http://data.name" target="_blank">data.name</a>=dname,sighat=sighat,statistic=statistic,parameter=parameter,p.value=1-pchisq(statistic,parameter),method="Sphericity
test") }<br>+ else {<br>+
cc<--n*(p+ldet-tr)<br>+ statistic <-
cc<br>+ names(statistic) <- "L
statistic"<br>+ parameter <-
0.5*(p+1)*p<br>+ names(parameter) <-
"df"<br>+
rval<-list(<a href="http://data.name" target="_blank">data.name</a>="",statistic=statistic,parameter=parameter,p.value=1-pchisq(statistic,parameter),method="Covariance
equality test statistic")<br>+ }<br>+ class(rval) <- "htest"<br>+
return(rval)<br>+ }<br>> pw <- function(q,n) {<br>+ pdf
<- function(w) { 1/2 * (n-2) * w^((n-3)/2) }<br>+
integrate(pdf,0,q)<br>+ }<br>> <br>> varcomp <-
function(covmat,n) {<br>+ if (is.list(covmat))
{<br>+ if (length(covmat) <
2)<br>+ stop("covmat must be a
list with at least 2 elements")<br>+ ps <-
as.vector(sapply(covmat,dim))<br>+ if (sum(ps[1] == ps)
!= length(ps))<br>+ stop("all
covariance matrices must have the same dimension")<br>+
p <- ps[1]<br>+ q <-
length(covmat)<br>+ if
(length(n) == 1)<br>+ Ng <-
rep(n,q)<br>+ else if (length(n) ==
q)<br>+ Ng <-
n<br>+
else<br>+ stop("n must be equal
length(covmat) or 1")<br>+ <br>+ DNAME <-
deparse(substitute(covmat))<br>+ }<br>+
<br>+ else<br>+ stop("covmat must be a
list")<br>+ <br>+ ng <- Ng - 1<br>+
Ag <- lapply(1:length(covmat),function(i,mat,n) { n[i] * mat[[i]]
},mat=covmat,n=ng)<br>+ A <-
matrix(colSums(matrix(unlist(Ag),ncol=p^2,byrow=T)),ncol=p)<br>+
detAg <- sapply(Ag,det)<br>+ detA <-
det(A)<br>+ V1 <-
prod(detAg^(ng/2))/(detA^(sum(ng)/2))<br>+ kg <-
ng/sum(ng)<br>+ l1 <- prod((1/kg)^kg)^(p*sum(ng)/2) *
V1<br>+ rho <- 1 - (sum(1/ng) -
1/sum(ng))*(2*p^2+3*p-1)/(6*(p+1)*(q-1))<br>+ w2 <- p*(p+1)
* ((p-1)*(p+2) * (sum(1/ng^2) - 1/(sum(ng)^2)) - 6*(q-1)*(1-rho)^2) /
(48*rho^2)<br>+ f <- 0.5 *
(q-1)*p*(p+1)<br>+ STATISTIC <-
-2*rho*log(l1)<br>+ PVAL <- 1 - (pchisq(STATISTIC,f) +
w2*(pchisq(STATISTIC,f+4) - pchisq(STATISTIC,f)))<br>+
names(STATISTIC) <- "corrected lambda*"<br>+ names(f) <-
"df"<br>+ RVAL <- structure(list(statistic = STATISTIC,
parameter = f,p.value = PVAL, <a href="http://data.name" target="_blank">data.name</a> = DNAME, method = "Equality of
Covariances Matrices Test"),class="htest")<br>+
return(RVAL)<br>+ }<br>>
sphericity.test<-function(n,s1,s2=NULL,estsigma=TRUE){</font></div>
<div> </div>
<div><font face="Arial" size="2">+ > <br>> sphericity.test(10,2)<br>Erro
em 1:(p - 1) : argumento de comprimento zero</font></div>
<blockquote style="padding-right:0px;padding-left:5px;margin-left:5px;border-left:#000000 2px solid;margin-right:0px"><div class="im">
<div><font face="Arial" size="2"></font><br></div>Michele,
<div><font face="Arial" size="2"></font><br></div>
<div>Acho que você estava se referindo a função sphericiy.test que eu
implementei e fiz referẽncia em um material sobre ANOVA com medidas
repetidas.</div>
<div><font face="Arial" size="2"></font><br></div>
<div>Deixei o código disponível aqui: <a href="http://www.fernandohrosa.com.br/en/P/sphericity-test-for-covariance-matrices-in-r-sphericity-test/" target="_blank">http://www.fernandohrosa.com.br/en/P/sphericity-test-for-covariance-matrices-in-r-sphericity-test/</a></div>
<div><font face="Arial" size="2"></font><br></div>
</div><div>Fernando,<br><br>.</div></blockquote></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>
"Though this be randomness, yet there is structure in't."<br>Fernando H Rosa - Statistician <br><a href="http://www.fernandohrosa.com.br/" target="_blank">http://www.fernandohrosa.com.br</a> / <a href="http://www.feferraz.net/" target="_blank">http://www.feferraz.net</a> - Estatística, Matemática e Computação<div>
<font color="#000000"><a href="http://www.bankreview.com.br/" target="_blank">BankReview.com.br</a> - Escolha melhor seus serviços financeiros!</font></div><div><font color="#000000"><a href="http://aprendaalemao.net/" target="_blank">AprendaAlemao.net</a> - Seu ponto de partida para melhorar seu Alemão!<br>
</font><div>@fhrosa</div></div><br>
</div>