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@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@gmail.com
Dourados, MS - [22 16.5'S, 54 49'W]