x y z
1 1 12.00 a
2 2 3.00 b
3 3 2.00 a
4 4 5.10 b
5 5 4.50 a
6 6 0.05 b
Selecionando elementos (vetores)
Frequentemente é necessário se selecionar os elementos de dentro de vetores, matrizes, dataframes, e listas e fazemos isso usando o operador [].
Cada elemento dos objetos contém um índice por exemplo:
elementos <-c("indice 1", "indice 2", "indice 3")elementos[1]
[1] "indice 1"
elementos[c(2,3)]
[1] "indice 2" "indice 3"
elementos[-3] # seleciona todos menos o terceiro elemento
[1] "indice 1" "indice 2"
Selecionando elementos (matrizes)
matriz
[,1] [,2]
[1,] 1 4
[2,] 7 10
matriz[1,2] # [linha, coluna]
[1] 4
matriz[ ,1] # apenas a primeira coluna
[1] 1 7
matriz[2, ] # apenas a segunda coluna
[1] 7 10
Funções e Fórmulas
Funções e fórmulas são tipos de objetos mais avançado e iremos discutí-los nas próximas aulas.
Operadores Aritméticos
Temos os operadores aritméticos como já mostrados anteriormente.
Operador
Descrição
Exemplo
+
Adição
4 + 5 = 9
-
Subtração
9 - 5 = 4
*
Multiplicação
3 * 4 = 12
/
Divisão
90 / 3 = 30
^ ou **
Exponenciação
10^2 = 100
X %% Y
Modulus (restante inteiro da divisão de x por y)
15 %% 2 = 1
X %/% Y
Divisão de número inteiro
5 %/% 2 = 2
Operadores Lógicos
Os operadores lógicos são operadores de equalidade ou inequalidade que retornam valores TRUE ou FALSE (verdadeiro ou falso).
Operador
Descrição
Exemplo
>, <
Maior que, menor que
1 > 2 = FALSE
>=, <=
Maior ou igual, menor ou igual
22 >= 22 = TRUE
==
Exatamente igual
3 == 3 = TRUE
!=
Não igual a
3 != 4 = TRUE
!x
Negação
15 %% 2 = 1
x | y
x OU y
4 | 12 < 10 = TRUE
x & y
x E y
4 & 12 < 10 = FALSE
isTRUE(x)
Testa se x é TRUE
Condicionais
Há a possibilidade de executar operações ou não dependendo da condição expressada.
se (condição for TRUE){
Executar o código aqui dentro
}
n_ligacoes_carbono <-5if (n_ligacoes_carbono >4) {warning("O Carbono não pode ter mais que 4 ligações")}
Condicionais (continuação)
n_ligacoes_carbono <-3if (n_ligacoes_carbono >4) {warning("O Carbono não pode ter mais que 4 ligações")} else {#<<message("Número de ligações do carbono OK")}
para (elemento na sequência 1 a 10){
imprima(elemento)
}
for loop
frutas <-c("banana", "maçã", "ameixa")for (fruta in frutas) {print(fruta)}
[1] "banana"
[1] "maçã"
[1] "ameixa"
cores <-c("amarela","vermelha")for (fruta in frutas) {for (cor in cores) {print(paste("Tal",fruta,"é",cor)) }}
[1] "Tal banana é amarela"
[1] "Tal banana é vermelha"
[1] "Tal maçã é amarela"
[1] "Tal maçã é vermelha"
[1] "Tal ameixa é amarela"
[1] "Tal ameixa é vermelha"
while loop
Loops while se repetem até que a expressão avaliada seja FALSE.
i <-1while (i <6) {print(paste("Iteração",i)) i <- i +1}