Para exemplificar como funciona o sorteio, utilizarei um modelo similar a uma loteria. Temos que os números que pode ser sorteados vão de 1 a 60, então criaremos um conjunto com esses números que será chamado de a:
> a<-1:60
Em seguida basta utilizar o comando sample para sortear algum elemento que está contido no conjunto a. O argumento do comando sample também pede a quantidade de sorteios que irá fazer, no nosso caso irei realizar 6 sorteios, ou seja, irei sortear seis elementos que estão no conjunto a.
> sample(a,6)
Como resultado teremos 6 números aleatórios.
Pode ser interessante também simular um sorteio onde depois de sorteado um número ele seja recolado no conjunto para que depois seja sorteado o próximo, então basta acrescentar o argumento replace=TRUE. Na pratica, isso permitirá que o mesmo elemento possa ser sorteado outra vez.
> sample(a,6,replace=TRUE)
Caso queria repetir o sorteio varias vezes, devemos utilizar o comando replicate, que no começo deverá informar o número de replicatas serão feitas e em seguida o comando sample. No exemplo abaixo irei repetir 10 vezes.
> sorteios<-replicate(10, sample(a,6))
Para ver o resultado basta entrar com o nome dados ao conjunto de replicatas.
> sorteios
Uma forma melhor de visualizar melhor o resultado das replicatas como um todo é gerando um histograma dos sorteios mostrará a distribuição de frequências dos números sorteados.
> hist(sorteios)
Muito útil esta explicação. Ainda sim peço, por gentileza, dica de como proceder a sorteios em casos de experimentação, onde se precisa fazer a aleatorização das unidades experimentais/parcelas, nos tratamentos estabelecidos pelo pesquisador. Exemplo: tenho 12 tratamentos constituídos de três repetições por tratamento e parcelas constituídas por 5 plântulas. Assim preciso sortear sobre as bancadas do viveiro, as unidades experimentais. Assim terei: T1R1.1 (Tratamento 1, repetição 1, plântula 1); T1R1.2 (Tratamento 1, repetição 1, plântula 2) ... T12R3.5(Tratamento 12, repetição 3, plântula 5). Portanto, gostaria que fossem sorteados esses códigos e não necessariamente números. Isso pouparia de ter que criar lista onde cada código supracitado estivesse relacionado a um número. É possível sortear códigos ou nomes usando estes comandos? Caso haja resposta, Grato de ser comunicado/avisado via e-mail(tadeucav@gmail.com) o quanto antes. Grato pela atenção.
ResponderExcluirOlá Tadeu! É possível sim. Para sortear nomes você deve criar uma lista usando os nomes entre aspas para o R entender que é caractere. O trabalho maior será é digitar todos os códigos. Falou!
Excluirn percebi
ResponderExcluiré possível excluir um valor aleatório?
ResponderExcluirSim. Ficaria mais ou menos assim:
Excluir> a[-sample(a,1)]
Muito obrigada!
ResponderExcluir