Introdução a linguagem r

Introdução a linguagem r é certamente um dos primeiros temas pesquisados na jornada de aprendizado de um cientista de dados, profissional de bioestatística, auditor em auditoria contínua ou um profissional com foco em data analytics.

No entanto, antes de partir para temas mais complexos como análise preditiva, inteligência artificial, machine learning, Big Data, certamente também vale a pena relembrar e reforçar conceitos básicos de matemática, estatística, lógica de programação e estrutura de dados.

Matemática e Estatística

Muito utilizada por matemáticos e estatísticos, a linguagem R é especializada em manipulação, análise e visualização de dados. Assim sendo, a linguagem R possui funções estatísticas e é muito fácil utilizá-la para obter a média, moda, mediana, criar histogramas, e até mesmo criar e visualizar gráficos elaborados com dispersão, regressão linear e até mesmo três dimensões (3D). Este post mostrará alguns conceitos básicos da linguagem. Por este motivo, para testar os exemplos você precisa instalar o R previamente. Adicionalmente. se preferir, também pode instalar o RStudio – um ambiente gráfico mais amigável e gratuito.

Quais são as estruturas de dados no R?

Como atribuir um valor no R?

Primeiramente, vamos aprender a atribuir o valor 1 à x. Para isto, basta utilizar o comando abaixo:

> x <- 1

Como resultado, apesar de conter apenas um item (1), veja que ainda sim para o R, x é considerado um vetor de tamanho 1.

Como exibir valores no R?

Para exibir o valor de x, basta digitar x e teclar enter:

> x
[1] 1

Você pode atribuir mais de um número à um vetor, por exemplo, concatenando os valores (1,2,3,4,5) à partir da função c( ) :

> x <- c(1,2,3,4,5)
> x
[1] 1 2 3 4 5

Outra forma de fazer o mesmo, seria atribuir uma sequência numérica sequencial “1:5” através do operador “:

> x <- 1:5
> x
[1] 1 2 3 4 5

Para exibir o valor de uma estrutura de dados (variável, vetor, matriz, data frame), basta digitar o nome e teclar enter:

Como transformar um vetor em uma matriz no R?

Vejamos o vetor x contendo números de 1 à 20:

> x <- 1:20
> x
 [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20

Utilizando a função dim( ) podemos atribuir os parâmetros nrow=10 (número de linhas = 10), ncol=2 (número de colunas = 2) para o vetor x, transformando-o em uma matriz 10 x 2:

> dim(x) <- c(10,2)

Exibindo o valor de x vemos uma matriz de 10 linhas e 2 colunas:

> x
      [,1] [,2]
 [1,]    1   11
 [2,]    2   12
 [3,]    3   13
 [4,]    4   14
 [5,]    5   15
 [6,]    6   16
 [7,]    7   17
 [8,]    8   18
 [9,]    9   19
[10,]   10   20

Como realizar uma operação matemática entre matrizes no R?

Vamos criar outro vetor y, contendo números de 20 à 39 e formatá-lo como uma matriz 10 x 2. Para isso basta utilizar os seguintes comandos:

> y <- 20:39
> dim(y) <- c(10,2)

Exibindo o resultado de y temos:

> y
      [,1] [,2]
 [1,]   20   30
 [2,]   21   31
 [3,]   22   32
 [4,]   23   33
 [5,]   24   34
 [6,]   25   35
 [7,]   26   36
 [8,]   27   37
 [9,]   28   38
[10,]   29   39

O código abaixo multiplica a matriz x pela matriz y e guarda o resultado na matriz z.

> z <- x * y
> z
      [,1] [,2]
 [1,]   20  330
 [2,]   42  372
 [3,]   66  416
 [4,]   92  462
 [5,]  120  510
 [6,]  150  560
 [7,]  182  612
 [8,]  216  666
 [9,]  252  722
[10,]  290  780

Assim como na matemática, a linguagem R procura multiplicar os elementos das matrizes que estão na mesma posição, ou seja o item presente na linha 1, coluna 1 da matriz x (1) é multiplicado pelo item presente na linha 1, coluna 1 da matriz y (20), e assim por diante.

O código fonte completo

Finalmente, depois de tudo que vimos acima, temos abaixo o código fonte completo utilizado neste post. Você pode simplesmente copiar e executar de uma vez e observar os resultados obtidos.

x <- 1:20
x
dim(x) <- c(10,2)
x
y <- 20:39
dim(y) <- c(10,2)
y
z <- x * y
z
dim(z) <- c(5,4)
z

Resultado obtido

> x <- 1:20
> x
 [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20
> dim(x) <- c(10,2)
> x
      [,1] [,2]
 [1,]    1   11
 [2,]    2   12
 [3,]    3   13
 [4,]    4   14
 [5,]    5   15
 [6,]    6   16
 [7,]    7   17
 [8,]    8   18
 [9,]    9   19
[10,]   10   20
> y <- 20:39
> dim(y) <- c(10,2)
> y
      [,1] [,2]
 [1,]   20   30
 [2,]   21   31
 [3,]   22   32
 [4,]   23   33
 [5,]   24   34
 [6,]   25   35
 [7,]   26   36
 [8,]   27   37
 [9,]   28   38
[10,]   29   39
> z <- x * y
> z
      [,1] [,2]
 [1,]   20  330
 [2,]   42  372
 [3,]   66  416
 [4,]   92  462
 [5,]  120  510
 [6,]  150  560
 [7,]  182  612
 [8,]  216  666
 [9,]  252  722
[10,]  290  780
> dim(z) <- c(5,4)
> z
     [,1] [,2] [,3] [,4]
[1,]   20  150  330  560
[2,]   42  182  372  612
[3,]   66  216  416  666
[4,]   92  252  462  722
[5,]  120  290  510  780
> 

Perguntas sobre R respondidas aqui

  1. Introdução a linguagem R
  2. Quais são as estruturas de dados no R?
  3. Como criar uma variável no R?
  4. Como atribuir um valor a uma variável no R?
  5. Como exibir uma variável no R?
  6. Como atribuir um range de números sequenciais à um vetor no R?
  7. Como transformar um vetor em uma matriz no R?
  8. Como realizar uma operação matemática entre matrizes no R?

Referências sobre linguagem R

R Programming for Data Science ( Roger D. Peng ) Professor de Bioestatística Bloomberg Public Health School – Johns Hopkins University.