<div dir="ltr"><div><div><div>Ana,<br><br></div>você  em primeiro lugar você esta colocando uma lista dentro de uma matrix<br></div>se você quer contabilizar o número de outliers veja o tamanho do vetor que você obteve dado as condições<br>

</div><div>para tal faça as alterações em vermelho<br></div><div><br>porano<-apply(dados[-c(19,23,3<div id=":1nx">6,37),-1],2,function(x)c(summary(x),0)[1:7])<br>
desviopadrao<-apply(dados[-c(19,23,36,37),-1],2,sd,na.rm=TRUE)<br>
variancia<-apply(dados[-c(19,23,36,37),-1],2,var,na.rm=TRUE)<br>
r<-apply(dados[-c(19,23,36,37),-1],2,range,na.rm=TRUE)<br>
diffr<-diff(r)<br>
iqr<-apply(dados[-c(19,23,36,37),-1],2,function(x){quantile(x,na.rm=TRUE)[4]-quantile(x,na.rm=TRUE)[2]})<br>
besq<-apply(dados[-c(19,23,36,37),-1],2,function(x){quantile(x, na.rm=TRUE)[2]})-1.5*iqr<br>
bdt<-apply(dados[-c(19,23,36,37),-1],2,function(x){quantile(x, na.rm=TRUE)[4]})+1.5*iqr<br>
<span style="color:rgb(255,0,0)">outliers<-rep(0,ncol(dados)-1)</span><br>
for(i in names(dados[-c(19,23,36,37),-1])){<br>
tmp<-dados[-c(19,23,36,37),i]<br>
<span style="color:rgb(255,0,0)">outliers[i]<-length(tmp[tmp > bdt[i] | dados[-c(19,23,36,37),i] < besq[i]])</span><br>
}<br>
row.names(diffr) <- "Diferen?a do range" # Como o resultado do 
comando diff ? uma matriz, voc? precisa colocar o nome da linha antes de
 juntar todos os resultados<br>
rownames(porano)<-c("Mínimo","Primeiro Quartil","Mediana","Média","Terceiro Quartil","Máximo","NAs")<br>
todos_resultados_dados<-rbind(porano,"Desvio padr?o"=desviopadrao, "Vari?ncia"=variancia, diffr, iqr,besq,bdt,outliers)<br>
todos_resultados_dados</div><br></div><br></div><div class="gmail_extra"><br clear="all"><div>Tito Conte<br><br></div>
<br><br><div class="gmail_quote">2013/5/17  <span dir="ltr"><<a href="mailto:alanarocha@sapo.pt" target="_blank">alanarocha@sapo.pt</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
Boa tarde estou a criar objectos para poder fazer o calculo dos outliers mas está a dar tudo NULL, eu queria saber porque..<br>
dados lidos:<br>
   2008 2009 2010 2011 2012<br>
1    <a href="tel:49%20%20%2054%20%20%2057%20%20%2054%20%20%2056" value="+554954575456" target="_blank">49   54   57   54   56</a><br>
2    <a href="tel:53%20%20%2054%20%20%2055%20%20%2053%20%20%2059" value="+555354555359" target="_blank">53   54   55   53   59</a><br>
3    52   51   52   53   52<br>
4    57   59   59   60   63<br>
5    <a href="tel:63%20%20%2060%20%20%2063%20%20%2064%20%20%2062" value="+556360636462" target="_blank">63   60   63   64   62</a><br>
6    58   57   59   58   63<br>
estatísticas:<br>
#estatísticas descritivas<br>
porano<-apply(dados[-c(19,23,<u></u>36,37),-1],2,function(x)c(<u></u>summary(x),0)[1:7])<br>
desviopadrao<-apply(dados[-c(<u></u>19,23,36,37),-1],2,sd,na.rm=<u></u>TRUE)<br>
variancia<-apply(dados[-c(19,<u></u>23,36,37),-1],2,var,na.rm=<u></u>TRUE)<br>
r<-apply(dados[-c(19,23,36,37)<u></u>,-1],2,range,na.rm=TRUE)<br>
diffr<-diff(r)<br>
iqr<-apply(dados[-c(19,23,36,<u></u>37),-1],2,function(x){<u></u>quantile(x,na.rm=TRUE)[4]-<u></u>quantile(x,na.rm=TRUE)[2]})<br>
besq<-apply(dados[-c(19,23,36,<u></u>37),-1],2,function(x){<u></u>quantile(x, na.rm=TRUE)[2]})-1.5*iqr<br>
bdt<-apply(dados[-c(19,23,36,<u></u>37),-1],2,function(x){<u></u>quantile(x, na.rm=TRUE)[4]})+1.5*iqr<br>
outliers<-list()<br>
for(i in names(dados[-c(19,23,36,37),-<u></u>1])){<br>
tmp<-dados[-c(19,23,36,37),i]<br>
outliers[[i]]<-tmp[tmp > bdt[i] | dados[-c(19,23,36,37),i] < besq[i]]<br>
}<br>
row.names(diffr) <- "Diferen?a do range" # Como o resultado do comando diff ? uma matriz, voc? precisa colocar o nome da linha antes de juntar todos os resultados<br>
rownames(porano)<-c("Mínimo","<u></u>Primeiro Quartil","Mediana","Média","<u></u>Terceiro Quartil","Máximo","NAs")<br>
todos_resultados_dados<-rbind(<u></u>porano,"Desvio padr?o"=desviopadrao, "Vari?ncia"=variancia, diffr, iqr,besq,bdt,outliers)<br>
todos_resultados_dados<br>
porano<br>
resultado:<br>
                   2008      2009     2010      2011     2012<br>
Mínimo             48        52       56        55.33    58<br>
Primeiro Quartil   4.708149  4.198439 4.554801  5.255589 4.6888<br>
Mediana            22.16667  17.62689 20.74621  27.62121 21.98485<br>
Média              19        19       19        22       18<br>
Terceiro Quartil   6         5        7         6        7<br>
Máximo             43        44.5     41.5      44       41.5<br>
NAs                67        64.5     69.5      68       69.5<br>
Desvio padr?o      Numeric,0 44       Numeric,0 43       Numeric,0<br>
Vari?ncia          NULL      NULL     NULL      NULL     NULL<br>
Diferen?a do range NULL      NULL     NULL      NULL     NULL<br>
iqr                NULL      NULL     NULL      NULL     NULL<br>
besq               NULL      NULL     NULL      NULL     NULL<br>
bdt                NULL      NULL     NULL      NULL     NULL<br>
outliers           NULL      NULL     NULL      NULL     NULL<br>
porquê NULL?<br>
Cumprimentos Ana Rocha<br>
<br>
______________________________<u></u>_________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">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/<u></u>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-<u></u>guia</a>) e forneça código mínimo reproduzível.<br>
</blockquote></div><br></div>