[R-br] Extrair por sorteio linhas de um data frame dentro de cada nível de um fator

Marcus Nunes marcus.nunes em gmail.com
Quinta Abril 26 16:15:53 -03 2018


Basta dar um group_by(color) antes da amostragem:

df %>%
  group_by(color) %>%
  sample_n(3)



--
Marcus Nunes
Professor Adjunto
Universidade Federal do Rio Grande do Norte
Centro de Ciências Exatas e da Terra
Departamento de Estatística
Laboratório de Estatística Aplicada
marcus.nunes em ccet.ufrn.br
http://marcusnunes.me/


2018-04-26 15:44 GMT-03:00 ASANTOS via R-br <r-br em listas.c3sl.ufpr.br>:

>     Prezados Membros do R,
>
> Preciso extrair linhas de um data frame dentro de cada nível de um fator,
> usando a função sample_n() do pacote dplyr. Sendo meu CRM:
>
> #Data set artificial
>
> df <- data.frame(matrix(rnorm(80), nrow=40))
> df$color <-  rep(c("blue", "red", "yellow", "pink"), each=10)
>
> require(dplyr)
>
> #Sorteio
>
> sample_n(df, 3) #Sorteio sobre todo o data frame
>
>            X1         X2  color
> 6  -0.2386293 -1.2611679   blue
> 21  0.6337288 -0.7817087 yellow
> 28 -0.1949911  0.6397060 yellow
>
>     No entanto, não é bem isso que eu quero, na verdade, eu gostaria de
> realizar o sorteio de uma amostra aleatória de tamanho 3 em cada nível do
> fator color, ou seja, quero que seja sorteados 3 valores para cada cor.
> Ficando algo do tipo:
>
>             X1          X2  color
>
> 3   0.22232534  1.83730750   blue
>
> 6  -0.23862925 -1.26116791   blue
>
> 7  -1.22555359 -1.60739354   blue
>
> 15 -1.12092508 -0.04395679    red
>
> 16 -0.68780179  0.51116139    red
>
> 17 -0.98583965  0.09294828    red
>
> ...
>
>     Alguém poderia me ajudar a resolver isso?
>
> Obrigado,
>
> Alexandre
>
> --
> ======================================================================
> Alexandre dos Santos
> Proteção Florestal
> IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
> Campus Cáceres
> Caixa Postal 244
> Avenida dos Ramires, s/n
> Bairro: Distrito Industrial
> Cáceres - MT                      CEP: 78.200-000
> Fone: (+55) 65 99686-6970 (VIVO) (+55) 65 3221-2674 (FIXO)
> e-mails:alexandresantosbr em yahoo.com.br
>         alexandre.santos em cas.ifmt.edu.br
> Lattes: http://lattes.cnpq.br/1360403201088680
> OrcID: orcid.org/0000-0001-8232-6722   -   ResearcherID: A-5790-2016
> Researchgate: www.researchgate.net/profile/Alexandre_Santos10
> LinkedIn: br.linkedin.com/in/alexandre-dos-santos-87961635
> Mendeley:www.mendeley.com/profiles/alexandre-dos-santos6/
> ======================================================================
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e fornea cdigo
> mnimo reproduzvel.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20180426/8605fd4f/attachment.html>


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