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>