Exercicio 1
A <-2
B <-3
C <-4
A + B
## [1] 5
A + C
## [1] 6
B + C
## [1] 7
2)Definir duas variáveis A e B e trocar seus valores. Ex: Entrada: A=6 e B=8 Saída: A=8 e B=6.
A <- 6
B <- 8
Aux <- A
A <- B
B <- Aux
print (A)
## [1] 8
print (B)
## [1] 6
3)Converter uma temperatura de Fahrenheit para Centígrados. C = (F - 32) * ( 5 / 9 ).
F <- 77
C <- (F-32)*(5/9)
print(C)
## [1] 25
4)Escrever um algoritmo que defina um número X e calcule: a)X3 - 4
x <- 5
resultado <- x^3-4
print(resultado)
## [1] 121
b)O resto da divisão de X / 3
x <- 10
resto <- x%%3
print(resto)
## [1] 1
c)X(x/3) + 2
x <- 6
resultado <- x*(x/3) + 2
print(resultado)
## [1] 14
d)Raiz quadrada de X2
x <- 7
resultado <- sqrt(x^2)
print(resultado)
## [1] 7
5)Crie um vetor numérico com os números de 1 a 10 e armazene-o em uma variável chamada “numeros”. Em seguida, imprima o vetor.
numeros <- 1:10
print(numeros)
## [1] 1 2 3 4 5 6 7 8 9 10
6)Crie um vetor de caracteres com os nomes dos dias da semana e armazene-o em uma variável chamada “dias”. Em seguida, imprima o vetor.
dias <- c("Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sabado", "Domingo")
print(dias)
## [1] "Segunda" "Terça" "Quarta" "Quinta" "Sexta" "Sabado" "Domingo"
7)Crie uma matriz 3x3 com os números de 1 a 9 e armazene-a em uma variável chamada “matriz”. Em seguida, imprima a matriz.
matriz <- matrix(1:9, nrow = 3, ncol = 3)
print(matriz)
## [,1] [,2] [,3]
## [1,] 1 4 7
## [2,] 2 5 8
## [3,] 3 6 9
8)Crie um data-frame com as informações de 3 pessoas: nome (caracter), idade (numérico) e cidade natal (caracter). Armazene o data-frame em uma variável chamada “pessoas” e imprima-o.
pessoas <- data.frame(
nome = c("Ana", "Bruno", "Kaiza"),
idade = c(19, 25, 30),
cidade_natal = c("São paulo", "Rio de Janeiro", "Minas Gerais")
)
print(pessoas)
## nome idade cidade_natal
## 1 Ana 19 São paulo
## 2 Bruno 25 Rio de Janeiro
## 3 Kaiza 30 Minas Gerais
9)Limpe as variáveis que estão no sistema e em seguida crie 3 variáveis, x, y e z e atribua valores numéricos para elas. Em seguida realize comparações entre elas (utilize TODOS os operadores de comparação (<. <. >=, <=, ==, !=).
rm(list = ls())
x <- 5
y <- 8
z <- 5
cat("x < y:", x < y, "\n")
## x < y: TRUE
cat("y < z:", y < z, "\n")
## y < z: FALSE
cat("x > y:", x > y, "\n")
## x > y: FALSE
cat("z > x:", z > x, "\n")
## z > x: FALSE
cat("x >= z:", x >= z, "\n")
## x >= z: TRUE
cat("y >= x:", y >= x, "\n")
## y >= x: TRUE
cat("x <= y:", x <= y, "\n")
## x <= y: TRUE
cat("z <= y:", z <= y, "\n")
## z <= y: TRUE
cat("x == z:", x == z, "\n")
## x == z: TRUE
cat("y == z:", y == z, "\n")
## y == z: FALSE
cat("x != y:", x != y, "\n")
## x != y: TRUE
cat("z != x:", z != x, "\n")
## z != x: FALSE
10)Limpe as variáveis que estão no sistema e em seguida crie 3 variáveis, “rua”, “numero” e “bairro” e atribua valores (texto) para elas. Em seguida concatene essas variáveis em uma terceira chamada “endereco”.
rm(list = ls())
rua <- "Rua das Flores"
numero <- "123"
bairro <- "Centro"
endereço <- paste(rua, numero, bairro, sep= ",")
print(endereço)
## [1] "Rua das Flores,123,Centro"
11)Elabore um algoritmo que: a) Crie um vetor com uma sequencia de 10 numeros.
vetor <- c(1:10)
print(vetor)
## [1] 1 2 3 4 5 6 7 8 9 10
b)Faça um loop para calcular a soma dos numeros do vetor
soma <- 0
for(numero in vetor){
soma <- soma + numero
}
print(paste("A soma do vetor e:", soma))
## [1] "A soma do vetor e: 55"
i)Utilize o comando “vetor <- c(1:10) para criar o vetor
vetor <- c(1:10)
print(vetor)
## [1] 1 2 3 4 5 6 7 8 9 10
ii)Utilize o comando “for(i in 1:10){…comandos}” para realizar a soma
for(i in 1:10) {
soma <- soma + vetor[i]
}
print(vetor)
## [1] 1 2 3 4 5 6 7 8 9 10
iii)Referencie os valores do vetor com o comando: “vetor[i]”, onde “i” e o indice referencia (numero)
vetor <- c(1:10)
soma <- 0
for(i in 1:10){
soma <- soma + vetor [i]
}
print(paste("Na posicao", i, "o valor e", vetor [i] ))
## [1] "Na posicao 10 o valor e 10"
print(paste("A soma dos numeros do vetor e:", soma))
## [1] "A soma dos numeros do vetor e: 55"
12)A partir do exercício anterior, faça a média dos valores contidos no vetor.
vetor <- c(1:10)
soma <- 0
for(i in 1:10){
soma <- soma + vetor[i]
}
media <- soma / length(vetor)
print(paste("Soma dos numeros =", soma))
## [1] "Soma dos numeros = 55"
print(paste ("Media dos numeros =", media))
## [1] "Media dos numeros = 5.5"
13)Crie duas variáveis, x e y. Compare se x é maior que y. Se for, imprima “x é maior que y”, se não for, imprima “y é maior que x”. a)A sintaxe do comando de comparação é: if (x > y) {comandos…} else {comandos}
x <- 15
y <- 10
if(x > y){
print("x e maior que y")
}else{
print("y e maior do que x")
}
## [1] "x e maior que y"
b)O comando print(“texto ou variável”) imprime a resposta na tela.
print(x)
## [1] 15
print(y)
## [1] 10
14)Repita o exercício “13” realizando os seguintes ajustes: a)Substitua o sinal de maior (“>”) pelo de menor ou igual (“<=”) e ajuste dos dizeres da resposta.
x <- 8
y <- 12
if (x <= y) {
print("x é menor ou igual a y")
} else {
print("y é menor que x")
}
## [1] "x é menor ou igual a y"
15)A partir do exercício “11”, faça a soma somente dos números pares. a)Utilize o comando “%%” para identificar o resto da divisão. Ex: “5%%2”, cinco dividido por dois terá como resto “1”. Ou seja, o resultado dessa operação será “1”.
vetor <- (1:10)
soma_pares <- 0
for(i in 1:10) {
if(vetor[i] %% 2 == 0) {
soma_pares <- soma_pares + vetor[i]
}
}
print(paste("Soma dos números pares =", soma_pares))
## [1] "Soma dos números pares = 30"
b)Utilize o comando de decisão “if” para saber se o número é par (o resto é zero) ou ímpar (o resto é 1).
vetor <- c(1:10)
soma_pares <- 0
soma_impares <- 0
for(i in 1:10) {
if(vetor[i] %% 2 == 0) {
soma_pares <- soma_pares + vetor[i]
print(paste(vetor[i], "é par"))
} else {
soma_impares <- soma_impares + vetor[i]
print(paste(vetor[i], "é ímpar"))
}
}
## [1] "1 é ímpar"
## [1] "2 é par"
## [1] "3 é ímpar"
## [1] "4 é par"
## [1] "5 é ímpar"
## [1] "6 é par"
## [1] "7 é ímpar"
## [1] "8 é par"
## [1] "9 é ímpar"
## [1] "10 é par"
print(paste("Soma dos números pares =", soma_pares))
## [1] "Soma dos números pares = 30"
print(paste("Soma dos números ímpares =", soma_impares))
## [1] "Soma dos números ímpares = 25"
c)Crie uma variável auxiliara para guardar o resultado da soma.
vetor <- c(1:10)
auxiliar <- 0
for(i in 1:10) {
if(vetor[i] %% 2 == 0) {
auxiliar <- auxiliar + vetor[i]
}
}
print(paste("Soma dos números pares =", auxiliar))
## [1] "Soma dos números pares = 30"
16)Faça um algoritmo que calcule e imprima o fatorial de um número inteiro.
n <- 5
fatorial <- 1
for(i in 1:n){
fatorial <- fatorial * i
}
print(paste("Fatorial de", n, "=", fatorial))
## [1] "Fatorial de 5 = 120"
17)Crie uma matriz 4x4. a)Uma matriz no R comporta somente um tipo de dado (número, texto ou boleano).
matriz <- matrix(1:16, nrow = 4, ncol = 4)
print(matriz)
## [,1] [,2] [,3] [,4]
## [1,] 1 5 9 13
## [2,] 2 6 10 14
## [3,] 3 7 11 15
## [4,] 4 8 12 16
b)O comando para criar a matriz é “x <- matrix(data = 1, nrow = 4, ncol = 4, byrow = TRUE)”
x <- matrix(data = 1:16, nrow = 4, ncol = 4, byrow = TRUE)
print(x)
## [,1] [,2] [,3] [,4]
## [1,] 1 2 3 4
## [2,] 5 6 7 8
## [3,] 9 10 11 12
## [4,] 13 14 15 16
18)Agora, crie uma matriz com a sequência de 1 a 16.
matriz <- matrix(data = 1:16, nrow = 4, ncol = 4, byrow = TRUE)
print(matriz)
## [,1] [,2] [,3] [,4]
## [1,] 1 2 3 4
## [2,] 5 6 7 8
## [3,] 9 10 11 12
## [4,] 13 14 15 16
19)Transforme essa matriz em um data.frame
a)Um data.frame é uma estrutura de dados similar a matriz que pode conter dados diferentes em suas variáveis.
matriz <- matrix(data = 1:16, nrow = 4, ncol = 4, byrow = TRUE)
df <- as.data.frame(matriz)
print(df)
## V1 V2 V3 V4
## 1 1 2 3 4
## 2 5 6 7 8
## 3 9 10 11 12
## 4 13 14 15 16
b)Lembre-se que também chamamos as colunas de variáveis e as linhas de registros.
matriz <- matrix(data = 1:16, nrow = 4, ncol = 4, byrow = TRUE)
df <- as.data.frame(matriz)
print(df)
## V1 V2 V3 V4
## 1 1 2 3 4
## 2 5 6 7 8
## 3 9 10 11 12
## 4 13 14 15 16
c)Uma variável (coluna) não pode conter dados diferentes. Ou todas as linhas dessa variável são números, ou todas são texto, ou ainda, boleanos.
df <- data.frame(
Nome = c("Ana", "Bruno", "Carla", "Diego"),
Idade = c(23, 30, 27, 35),
Ativo = c(TRUE, FALSE, TRUE, TRUE)
)
print(df)
## Nome Idade Ativo
## 1 Ana 23 TRUE
## 2 Bruno 30 FALSE
## 3 Carla 27 TRUE
## 4 Diego 35 TRUE
d)Utilize o comando “df <- as.data.frame(x)”
x <- matrix(data = 1:16, nrow = 4, ncol = 4, byrow = TRUE)
df <- as.data.frame(x)
print(df)
## V1 V2 V3 V4
## 1 1 2 3 4
## 2 5 6 7 8
## 3 9 10 11 12
## 4 13 14 15 16
20)Utilizando os comandos de repetição e decisão, calcule:
a)a média de uma coluna da matriz do exercício “18)”.
matriz <- matrix(1:16, nrow = 4, ncol = 4, byrow = TRUE)
media_coluna2 <- mean(matriz[,2])
print(paste("Média da coluna 2 =", media_coluna2))
## [1] "Média da coluna 2 = 8"
b)A média de todas as colunas da matriz do exercício “18)”.
for(j in 1:ncol(matriz)) {
print(paste("Média da coluna", j, "=", mean(matriz[,j])))
}
## [1] "Média da coluna 1 = 7"
## [1] "Média da coluna 2 = 8"
## [1] "Média da coluna 3 = 9"
## [1] "Média da coluna 4 = 10"
c)A média de todas as linhas da matriz do exercício “18)”.
for(i in 1:nrow(matriz)) {
print(paste("Média da linha", i, "=", mean(matriz[i,])))
}
## [1] "Média da linha 1 = 2.5"
## [1] "Média da linha 2 = 6.5"
## [1] "Média da linha 3 = 10.5"
## [1] "Média da linha 4 = 14.5"
d)A média dos números pares de todas as colunas da matriz do exercício “18)”.
for(j in 1:ncol(matriz)) {
pares <- matriz[,j][matriz[,j] %% 2 == 0]
print(paste("Média dos pares da coluna", j, "=", mean(pares)))
}
## [1] "Média dos pares da coluna 1 = NaN"
## [1] "Média dos pares da coluna 2 = 8"
## [1] "Média dos pares da coluna 3 = NaN"
## [1] "Média dos pares da coluna 4 = 10"
e)A média dos números ímpares de todas as linhas da matriz do exercício “18)”.
for(i in 1:nrow(matriz)) {
impares <- matriz[i,][matriz[i,] %% 2 == 1]
print(paste("Média dos ímpares da linha", i, "=", mean(impares)))
}
## [1] "Média dos ímpares da linha 1 = 2"
## [1] "Média dos ímpares da linha 2 = 6"
## [1] "Média dos ímpares da linha 3 = 10"
## [1] "Média dos ímpares da linha 4 = 14"
f)A soma da diagonal principal da matriz.
soma_diag_principal <- sum(diag(matriz))
print(paste("Soma da diagonal principal =", soma_diag_principal))
## [1] "Soma da diagonal principal = 34"
g)A soma da diagonal secundária da matriz (desafio).
soma_diag_secundaria <- sum(matriz[row(matriz) + col(matriz) == nrow(matriz) + 1])
print(paste("Soma da diagonal secundária =", soma_diag_secundaria))
## [1] "Soma da diagonal secundária = 34"
21)Repita o exercício “20” com os dados do data.frame do exercício “18”.
x <- matrix(data = 1:16, nrow = 4, ncol = 4, byrow = TRUE)
df <- as.data.frame(x)
print(df)
## V1 V2 V3 V4
## 1 1 2 3 4
## 2 5 6 7 8
## 3 9 10 11 12
## 4 13 14 15 16
22)Crie um loop for que imprime os números de 1 a 10.
for(i in 1:10) {
print(i)
}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] 6
## [1] 7
## [1] 8
## [1] 9
## [1] 10
for(i in 1:10) {
cat(i, "\n")
}
## 1
## 2
## 3
## 4
## 5
## 6
## 7
## 8
## 9
## 10
23)Crie um vetor numérico com os números de 1 a 100. Em seguida, crie um novo vetor que contenha apenas os números pares do vetor original.
vetor <- 1:100
pares <- vetor[vetor %% 2 == 0]
print("Vetor original:")
## [1] "Vetor original:"
print(vetor)
## [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
## [19] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
## [37] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
## [55] 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
## [73] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
## [91] 91 92 93 94 95 96 97 98 99 100
print("Vetor com números pares:")
## [1] "Vetor com números pares:"
print(pares)
## [1] 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38
## [20] 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76
## [39] 78 80 82 84 86 88 90 92 94 96 98 100
24)Crie uma função chamada “maior_elemento” que recebe um vetor numérico como argumento e retorna o maior elemento do vetor. Em seguida, teste a função com o vetor c(10, 5, 8, 2, 20, 15).
maior_elemento <- function(vetor) {
return(max(vetor))
}
teste <- c(10, 5, 8, 2, 20, 15)
resultado <- maior_elemento(teste)
print(paste("O maior elemento do vetor é:", resultado))
## [1] "O maior elemento do vetor é: 20"