
Organizar idéias: Primeiro fazer um split() da seguência 1:nrow(da) por nível de parcela. Dentro de cada vetor fazer um sample() dos números. Concatenar todos os vetores e usá-lo para acessar o data.frame. Tudo sem um for(). Segue a versão mais simples: dados <- data.frame(parcela=rep(1:5, each=5), obs=rep(1:5,5), y=rnorm(25), z=rnorm(25)) id <- seq_len(nrow(dados)) id id.spl <- split(id, f=dados$parcela) id.spl id.sam <- lapply(id.spl, sample, size=5, replace=TRUE) id.sam id.sam <- do.call(c, id.sam) id.sam dados2 <- dados[id.sam,] dados2 À 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 ==========================================================================