Como tomar amostras de dados em r

Os estatísticos muitas vezes têm de recolher amostras de dados e, em seguida, calcular estatísticas. Tomando uma amostra é fácil com R porque uma amostra é realmente nada mais do que um subconjunto de dados. Para fazer isso, você faz uso de amostra()

, que leva um vetor como input- então você diga a ele quantas amostras para desenhar a partir dessa lista.

Digamos que você queria simular rolos de morrer, e você deseja obter dez resultados. Porque o resultado de um único rolo de um dado é um número entre um e seis anos, seu código se parece com isso:

gt; amostra (1: 6, 10, substituir = TRUE) [1] 2 2 5 5 3 3 5 6 3 5

você diz amostra() para voltar dez valores, cada um na gama 1: 6. Porque cada rolo do dado é independente de qualquer outro rolo do dado, você está amostragem com substituição. Isso significa que você tomar uma amostra da lista e redefinir a lista ao seu estado original (em outras palavras, você coloca o elemento que você acabou atraído de volta para a lista).

Video: Teste-t duas amostras - Excel

Para fazer isso, você adicionar o argumento substituir = TRUE, como no exemplo.

Porque o valor de retorno do amostra() função é um número determinado aleatoriamente, se você tentar esta função repetidamente, você vai obter resultados diferentes de cada vez. Este é o comportamento correto na maioria dos casos, mas às vezes você pode querer obter resultados reproduzíveis cada vez que você executar a função.

Geralmente, isso ocorrerá somente quando você desenvolver e testar seu código, ou se você quer ter certeza de que alguém pode testar seu código e obter os mesmos valores que você fez. Neste caso, é costume para especificar uma chamada valor de semente.

Se você fornecer um valor de semente, a sequência de números aleatórios será redefinido para um estado conhecido. Isso ocorre porque R não cria números aleatórios, mas apenas números pseudo-aleatórios. A sequência pseudo-aleatória é um conjunto de números que, para todos os efeitos práticos, parecem ser aleatória, mas foram gerados por um algoritmo. Ao definir uma semente de partida para um processo de pseudo-aleatória, R sempre o mesmo retorna sequência pseudo-aleatória.

Video: Como fazer ANOVA seguida de teste t não pareado no Excel

Mas se você não definir a semente, R retira o estado atual do gerador de números aleatórios (RNG). No arranque R pode definir uma semente aleatória para inicializar o RNG, mas cada vez que você chamá-lo, R começa a partir do próximo valor na corrente RNG. Você pode ler a Ajuda ?RNG para obter mais detalhes.



Em R, você usa o set.seed () função para especificar o valor inicial das sementes. O argumento para set.seed () é qualquer valor inteiro.

gt; set.seed (1) gt; amostra (1: 6, 10, substituir = TRUE) [1] 2 3 4 6 6 6 2 4 4 1

Se você desenhar uma outra amostra, sem definir uma semente, você tem um conjunto diferente de resultados, como seria de esperar:

gt; amostra (1: 6, 10, substituir = TRUE) [1] 2 2 5 5 3 3 5 6 3 5

Agora, para demonstrar que set.seed () realmente não redefinir o RNG, tente novamente. Mas desta vez, defina a semente mais uma vez:

gt; set.seed (1) gt; amostra (1: 6, 10, substituir = TRUE) [1] 2 3 4 6 6 6 2 4 4 1

Você começa exatamente os mesmos resultados como a primeira vez que você usou set.seed (1).

Você pode usar amostra() para retirar amostras do quadro de dados íris. Neste caso, você pode querer usar o argumento substituir = FALSE. Porque este é o valor padrão da substituir argumento, você não precisa escrevê-lo explicitamente:

gt; set.seed (123) gt; índice lt; - amostra (1: nrow (íris), 5) gt; índice [1] 44 119 62 133 142gt; íris [índice,] Sepal.Length Sepal.Width Petal.Length Petal.Width Species44 5,0 3,5 1,6 0,6 7,7 2,6 6,9 setosa119 2,3 virginica62 5,9 3,0 4,2 1,5 6,4 2,8 5,6 versicolor133 2,2 virginica142 6.9 3.1 5.1 2.3 virginica

Publicações relacionadas