[R-br] Grárico de controle

Edson Lira edinhoestat em yahoo.com.br
Sexta Março 21 09:47:41 BRT 2014


Eder, muito obrigado, ajudou muito, vi que tenho no mesmo dia vários grupos. 

Como faço para ter um único resultado por dia? Ou seja, para cada dia um único ponto no gráfico.


[  ]'s.

Edson Lira
Estatístico
Manaus-Amazonas



Em Terça-feira, 18 de Março de 2014 12:52, Éder Comunello <comunello.eder em gmail.com> escreveu:
 
Edson, boa tarde!

Não sei se irá lhe atender, mas tentei alguma coisa com os dados de exemplo que você havia enviado (n=300). 

### <code r>
### restaurando dados de exemplo!
dat <-
 data.frame(tempo=c(30.48,32.17,32.32,32.68,33.42,34.1,34.33,35.12,35.95,36.18,36.73,36.75,36.78,37.05,37.18,38.1,38.4,40.05,40.62,40.87,41.33,41.38,41.5,41.63,43.38,43.65,43.85,43.88,44.37,45.67,45.73,46.17,46.5,46.75,47.17,47.55,47.63,47.65,49.62,49.85,49.98,50.65,51.15,51.67,51.7,51.97,53.12,53.23,53.77,54.08,54.18,54.32,54.65,54.98,55.55,56.47,58.13,58.65,58.93,59.2,59.67,59.92,60.08,60.28,60.63,60.93,61.78,62.58,63.42,63.93,64.13,65.12,66.02,66.55,67.23,67.85,71.32,73.03,73.68,75.1,75.52,79.75,79.93,80.88,81.23,91.85,103.73,109.27,115.65,123.63,131.88,173.28,30.68,31.68,32.1,33.12,33.25,33.48,34.5,35.15,35.52,35.87,36.52,36.63,36.75,39.32,40.37,41.4,41.57,41.57,41.78,43.85,44.05,44.97,45.47,45.93,47.03,47.1,47.35,47.63,48.3,48.38,48.62,48.85,48.88,49,49.87,50.65,50.73,51.07,51.42,51.8,52.08,52.72,52.83,53.23,53.32,53.57,53.68,54,54.12,54.23,54.28,54.5,55.13,55.32,55.65,55.85,56.02,56.15,56.43,56.45,56.58,56.58,57.22,57.77,57.78,58.17,58.43,58.57,58
.58,59.38,59.8,59.87,60.18,60.67,61.35,61.42,61.6,62.07,62.18,62.42,63.07,63.93,64.57,65.2,65.33,65.78,65.8,66.38,66.55,66.78,67.07,67.43,67.57,68.28,68.3,68.32,68.43,68.68,68.82,69,69.55,70.22,70.58,71.42,71.6,72.13,72.17,72.55,72.57,72.67,72.7,72.8,72.8,73.38,73.38,73.67,74.28,75.05,75.4,75.53,75.75,76.6,77.75,78.22,78.42,78.47,78.63,79.27,79.58,79.78,80.18,81.53,81.78,82.17,84.87,85.07,85.2,85.77,86.37,87.25,88.78,88.93,88.98,89.68,91,92.62,93.5,93.83,95.12,97.1,97.23,97.77,98.83,101.47,107.87,108.17,109.07,112.25,112.58,113.53,113.75,119.48,121.32,132.88,139.73,31.95,32.4,35.2,35.35,36.62,36.88,37.62,38.65,39.68,40.05,41.25,41.28,42,42.03,42.23,42.63,42.67,43.02,43.32,43.32,44.23,44.27,44.7,45.08,46.42,48.17,48.25,49.55,50.13,50.85,50.97,51.85,52.28,52.85,52.9,53.13,54.23,54.98,55.45,56.28,56.53,57.33,57.75), dia_doa=rep(c(1:3), c(92,165,43)))

table(dat$dia_doa)

### (r)andom (Pos)itions (dentro de cada dia)
{set.seed(765); rPos <- unlist(sapply(unique(dat$dia_doa), function(x) sample(which(dat$dia_doa==x))))}

### set.seed() é pra controle do CMR, considere removê-lo

rDat <- dat[rPos,]; head(rDat)
rDat$dia_doa ### observe que não muda ordem dos dias!

dN  <- unique(table(dat$dia_doa)) ### dados em cada dia!
grp <- NULL; for (n in dN) grp <- c(grp, rep(1:ceiling(n/5), each=5, len=n)) ### grupos dentro de dias

DAT    <- cbind(rDat, grp); row.names(DAT) <- NULL; head(DAT)
DAT$id <- DAT$dia_doa*1000+DAT$grp ### cria um id/label único para grupos!

### Caso deseje remover dados/grupos incompletos...
grp.i  <- names(table(DAT$id))[table(DAT$id)<5];grp.i ### grupos incompletos
dat.i <- unlist(sapply(grp.i, function(x) which(DAT$id==x))); dat.i ### dados pertencentes a grupos incompletos

DAT[dat.i,] ### linhas dos grupos incompletos
DATCompl <- DAT[-dat.i,] ### só grupos completos
table(DATCompl$dia_doa)
table(DATCompl$id)

###

require(qcc)
qcc(qcc.groups(DAT$tempo, DAT$id)) ### todos
qcc(qcc.groups(DATCompl$tempo, DATCompl$id)) ### somente completos
### </code>




Éder Comunello <comunello.eder em gmail.com> 

Dourados, MS - [22 16.5'S, 54 49'W]
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140321/451376a0/attachment.html>


Mais detalhes sobre a lista de discussão R-br