Aula 12 – Curso de R – Gerando dados com R

Aula 12 – Curso de programação em R

Gerando dados no R

Gerando dados com R

Gerando dados no R

Antes, quero deixar meus links de afiliados pra vocês:

Hostinger

One.com

DigitalOcean

Se cadastrando, vocês poderão conhecer, usar e testar gratuitamente alguns recursos dos serviços oferecidos por eles.

Por favor, dêem um joinha 👍, curtam e compartilhem a página do Código Fluente no Facebook.

Pinterest:
https://br.pinterest.com/codigofluente/

Endereço para baixar os arquivos e o script:

https://github.com/toticavalcanti/curso_r

Gerando dados no R

Seqüências regulares

Uma sequência regular de inteiros de 1 a 30 pode ser gerada com:


x <- 1:30

O vetor resultante x tem 30 elementos.

O operador ‘:‘ (Dois pontos) tem prioridade em relação aos operadores aritméticos dentro de uma expressão:

1:10
[1]  1 2 3 4 5 6 7 8 9 10
1:10-1
[1] 0 1 2 3 4 5 6 7 8 9
1:(10-1)
[1] 1 2 3 4 5 6 7 8 9

Veja que a saída do 1:10-1 foi do zero ao 9, o 10-1 fez com que o índice começasse do zero e não do 1, que é o padrão do R.

Já no caso do 1:(10-1) a saída foi do 1 ao 9, porque com os parênteses, forçamos a precedência do 10 – 1 em relação ao ‘:‘, então na verdade, para o interpretador o 1:(10-1) é igual a 1:9, já o 1:10-1 o interpretador entende que é pra começar um índice antes, ou seja, do 0 ao 9.

Se fizermos assim:


1:10-2
[1] -1  0  1  2  3  4  5  6  7  8

Veja que a saída foi de -1 até 8, isto é, começou indexando 2(dois) números antes do 1(um) que é o padrão do R.

Outro teste:


1-1:10-1
 [1]  -1  -2  -3  -4  -5  -6  -7  -8  -9 -10

A função seq pode gerar seqüências de números reais da seguinte forma:


seq(1, 5, 0.5)
[1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0

O primeiro número indica o começo da seqüência, o segundo o fim, e o terceiro, o incremento a ser usado para gerar a sequência.
Pode-se usar também:


seq(length=9, from=1, to=5)
[1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0

Pode-se também digitar diretamente os valores usando a função c:


c(1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5)
[1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0

Também é possível, se alguém quiser inserir alguns dados no teclado, usar a função scan simplesmente com as opções padrão:


z <- scan()
1: 2
2: 3
3: 1
4: 
Read 3 items
z
[1] 2 3 1

A função rep cria um vetor com todos os seus elementos idênticos:


rep(1, 30)
[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

A função sequence cria uma sequências de inteiros, onde cada final é dado pelos números fornecidos como argumentos:


sequence(4:5)
[1] 1 2 3 4 1 2 3 4 5

sequence(c(10,5))
[1] 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5

A função gl (generate levels) é muito útil porque gera série de fatores regulares.

O uso desta função é gl (k, n) onde k é o número de níveis (ou classes), e n é o número de replicações em cada nível.

Duas opções podem ser usadas: comprimento para especificar o número de dados produzidos, e rótulos para especificar os nomes dos níveis do fator.

Exemplos:


gl(3, 5)
[1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3
Levels: 1 2 3

gl(3, 5, length=30)
[1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3
Levels: 1 2 3

gl(2, 6, label=c("Male", "Female"))
[1] Male Male Male Male Male Male
[7] Female Female Female Female Female Female
Levels: Male Female

gl(2, 10)
[1] 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2
Levels: 1 2

gl(2, 1, length=20)
[1] 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2
Levels: 1 2

gl(2, 2, length=20)
[1] 1 1 2 2 1 1 2 2 1 1 2 2 1 1 2 2 1 1 2 2
Levels: 1 2

Temos também a função expand.grid() que cria um data frame com todas as combinações de vetores ou fatores dados como argumentos:


expand.grid(h=c(60,80), w=c(100, 300), sex=c("Male", "Female"))
   h  w  sex
1 60 100 Male
2 80 100 Male
3 60 300 Male
4 80 300 Male
5 60 100 Female
6 80 100 Female
7 60 300 Female
8 80 300 Female

Eu fico por aqui pra aula não ficar muito grande, nos vemos na próxima aula, valeu, \o/ 🙂

Endereço para baixar os arquivos e o script:

https://github.com/toticavalcanti/curso_r

Novamente deixo meus links:

Hostinger

One.com

DigitalOcean

Se cadastrando por ele, você ganha $100.00 dólares de crédito lá na digitalocean.

Por favor, dêem um joinha 👍, divulguem, compartilhem a página do Código Fluente no Facebook

Pinterest:
https://br.pinterest.com/codigofluente/

Obrigado, até a próxima e bons estudos. 😉

About The Author
-

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>