Re: [R-br] Eliminar outliers de uma planilha.

Uma alternativa seria: remove_outliers <- function(x, na.rm = TRUE, ...) { qnt <- quantile(x, probs=c(.25, .75), na.rm = na.rm, ...) H <- 2.5 * IQR(x, na.rm = na.rm) y <- x y[x < (qnt[1] - H)] <- NA y[x > (qnt[2] + H)] <- NA y } (S,f,P) Allaman \begin{signature} <<>>= Prof. Dr. Ivan Bezerra Allaman Universidade Estadual de Santa Cruz Departamento de Ciências Exatas e Tecnológicas Ilhéus/BA - Brasil Fone: +55 73 3680-5596 E-mail: ivanalaman@yahoo.com.br/ivanalaman@gmail.com @ \end{signature}

Ivan, Ao contrario do que eu também pensava, a boxplot() não usa a quantile() para encontrar os quantis, ela usa a fivenum(). Para grandes amostras não dá diferença mas para amostras pequenas dá. Você usou 2.5 mas o boxplot() usa 1.5. Eu fiz uma função também, veja set.seed(12345) y <- rbeta(100, 1, 5) boxplot(y) abline(h=fivenum(y)) x <- gl(4, 25) bp <- boxplot(y~x) bp bp$out bp$group f <- function(x){ qrtl <- fivenum(x)[c(2,4)] iqr <- diff(qrtl) limt <- qrtl+c(-1,1)*1.5*iqr findInterval(x, limt)-1 } f(y) tapply(y, x, f) À disposição. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================

Oi Walmes! Exatamente! Já haviam me alertando aqui no grupo quanto a isso. O boxplot por default usa 1.5, mais eu sempre altero para 2.5, e esqueci de alterar no código que enviei. O valor de 2.5 foi um concenso que cheguei junto com o Faria, achamos mais flexível. (S,f,P) Allaman \begin{signature} <<>>= Prof. Dr. Ivan Bezerra Allaman Universidade Estadual de Santa Cruz Departamento de Ciências Exatas e Tecnológicas Ilhéus/BA - Brasil Fone: +55 73 3680-5596 E-mail: ivanalaman@yahoo.com.br/ivanalaman@gmail.com @ \end{signature} ________________________________ De: Walmes Zeviani <walmeszeviani@gmail.com> Para: r-br@listas.c3sl.ufpr.br; Ivan Bezerra Allaman <ivanalaman@yahoo.com.br> Enviadas: Terça-feira, 7 de Agosto de 2012 11:02 Assunto: Re: [R-br] Eliminar outliers de uma planilha. Ivan, Ao contrario do que eu também pensava, a boxplot() não usa a quantile() para encontrar os quantis, ela usa a fivenum(). Para grandes amostras não dá diferença mas para amostras pequenas dá. Você usou 2.5 mas o boxplot() usa 1.5. Eu fiz uma função também, veja set.seed(12345) y <- rbeta(100, 1, 5) boxplot(y) abline(h=fivenum(y)) x <- gl(4, 25) bp <- boxplot(y~x) bp bp$out bp$group f <- function(x){ qrtl <- fivenum(x)[c(2,4)] iqr <- diff(qrtl) limt <- qrtl+c(-1,1)*1.5*iqr findInterval(x, limt)-1 } f(y) tapply(y, x, f) À disposição. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================

Os algoritmos (padrao) de quantile() e fivenum() são diferentes paera calculos de quantis. salvo engano A 1a supoe correcoes com interpolacoes lineares entre os valores, em quanto que a 2a trabalha mesmo com os dados apenas On Tue, 7 Aug 2012, Ivan Bezerra Allaman wrote:
Oi Walmes!
Exatamente! Já haviam me alertando aqui no grupo quanto a isso. O boxplot por default usa 1.5, mais eu sempre altero para 2.5, e esqueci de alterar no código que enviei. O valor de 2.5 foi um concenso que cheguei junto com o Faria, achamos mais flexível.
(S,f,P) Allaman
\begin{signature}
<<>>=
Prof. Dr. Ivan Bezerra Allaman
Universidade Estadual de Santa Cruz
Departamento de Ciências Exatas e Tecnológicas
Ilhéus/BA - Brasil
Fone: +55 73 3680-5596
E-mail: ivanalaman@yahoo.com.br/ivanalaman@gmail.com
@
\end{signature}
_______________________________________________________________________________________________________________________________________ De: Walmes Zeviani <walmeszeviani@gmail.com> Para: r-br@listas.c3sl.ufpr.br; Ivan Bezerra Allaman <ivanalaman@yahoo.com.br> Enviadas: Terça-feira, 7 de Agosto de 2012 11:02 Assunto: Re: [R-br] Eliminar outliers de uma planilha.
Ivan,
Ao contrario do que eu também pensava, a boxplot() não usa a quantile() para encontrar os quantis, ela usa a fivenum(). Para grandes amostras não dá diferença mas para amostras pequenas dá. Você usou 2.5 mas o boxplot() usa 1.5. Eu fiz uma função também, veja
set.seed(12345) y <- rbeta(100, 1, 5) boxplot(y) abline(h=fivenum(y)) x <- gl(4, 25) bp <- boxplot(y~x) bp bp$out bp$group
f <- function(x){ qrtl <- fivenum(x)[c(2,4)] iqr <- diff(qrtl) limt <- qrtl+c(-1,1)*1.5*iqr findInterval(x, limt)-1 }
f(y)
tapply(y, x, f)
À disposição. Walmes.
========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================

Pessoal bom dia! Seguinte, estou trabalhando com modelos não lineares mistos. Ajustei alguns modelos e quando fui sugerir uma estrutura para a matriz de variâncias e covariâncias intra-indivíduos (R), com a estrutura AR com heterogeneidade (ARH) para esta matriz, o modelo rodou, mas soltou a seguinte msn: "Warning message: Singular precision matrix in level -1, block 1" Gostaria de perguntar p vcs o que essa msn pode influenciar nos resultados? Pq ao fazer o teste da razao de verossimilhanças, este modelo com estrutura ARH foi selecionado, melhorou os resíduos e a normalidade deste, mas ao desenhar as curvas o ajuste me pareceu não tão satisfatório como aquele q eu tinha feito considerando R = I * \sigma^2. Alguém tem alguma luz ai? desde já muito obrigada! Simone

Boa pergunta. Só vendo os dados. Pode enviar um CMR? À disposição. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================

Desculpe Walmes por não ter mandado o CMR antes! Bom, vamos lá de novo! Pessoal bom dia! Seguinte, estou trabalhando com modelos não lineares mistos. Ajustei alguns modelos e quando fui sugerir uma estrutura para a matriz de variâncias e covariâncias intra-indivíduos (R), com a estrutura AR com heterogeneidade (ARH) para esta matriz, o modelo rodou, mas soltou a seguinte msn: "Warning message: Singular precision matrix in level -1, block 1" Gostaria de perguntar p vcs o que essa msn pode influenciar nos resultados? Pq ao fazer o teste da razao de verossimilhanças, este modelo com estrutura ARH foi selecionado, melhorou os resíduos e a normalidade deste, mas ao desenhar as curvas o ajuste me pareceu não tão satisfatório como aquele q eu tinha feito considerando R = I * \sigma^2. Alguém tem alguma luz ai? A seguir um CMR e os dados (http://www.datafilehost.com/download-a20803e9.html): ################################################################################# dados<- read.table('dados.txt', head=T) names(dados) tempo <- dados$Tempo periodo<- factor(dados$Periodo) animal <- factor(dados$Animal) IND <- dados$Rep trat <- factor(dados$Tratamento) FDN <- dados$FDN; length(FDN) Dados_FDN<- na.omit(data.frame(tempo, periodo, animal, IND, trat, FDN)) TRAT3<- factor(c(rep(70,120), rep(50,120), rep(30,118))) DADOS3<- cbind(Dados_FDN,TRAT3) # Função fx = function(t,a,b,c) (a + b*(1-exp(-c*t))) # chutes a1=1.13000000; b1=72.04000000; c1=0.02501543 library(lattice) options( contrasts = c("contr.treatment", "contr.poly") ) nlmeControl(500) require(nlme) fdn3=groupedData(FDN~tempo|IND,data=DADOS3, outer=~factor(TRAT3), order.groups=F) FDN3.list = nlsList(FDN ~ fx(tempo,a,b,c)|IND, data=fdn3, start=list(a=a1, b=b1, c=c1)) FDN.30<- nlme(FDN3.list, fixed=a+b+c~TRAT3) abcfix3 = fixef(FDN.30) FDNab_ARH <- update(FDN.30, random = pdSymm(a+b+c ~ 1 ), fixed = list(a+b~1,c~TRAT3), start=c(abcfix3[1], abcfix3[2], abcfix3[3],0,0), corr = corAR1(form=~1|IND), weight=varIdent(form=~1|tempo)) summary(FDNab_ARH) ################################################################################# desde já muito obrigada! Simone
participantes (5)
-
andrebvs
-
Ivan Bezerra Allaman
-
Paulo Justiniano
-
Simone D. Sartorio
-
Walmes Zeviani