title: “Projeto de Programação em R” author: “Mario Sergio” date:
“28/03/2026')”
Considere três valores numéricos e calcule as somas possíveis entre eles, sempre combinando dois de cada vez.
A <- 5
B <- 10
C <- 15
A + B
## [1] 15
A + C
## [1] 20
B + C
## [1] 25
Defina duas variáveis e faça a troca dos valores armazenados nelas.
A <- 6
B <- 8
auxiliar <- A
A <- B
B <- auxiliar
A
## [1] 8
B
## [1] 6
Converta uma temperatura informada em Fahrenheit para graus Celsius.
F <- 100
C <- (F - 32) * (5 / 9)
C
## [1] 37.77778
Escolha um valor para X e realize diferentes operações
matemáticas com ele.
X <- 9
# a) X ao cubo menos 4
X^3 - 4
## [1] 725
# b) resto da divisão de X por 3
X %% 3
## [1] 0
# c) X elevado a (X/3), somando 2 ao resultado
X^(X / 3) + 2
## [1] 731
# d) raiz quadrada de X ao quadrado
sqrt(X^2)
## [1] 9
Crie um vetor contendo os números de 1 até 10.
numeros <- 1:10
numeros
## [1] 1 2 3 4 5 6 7 8 9 10
Monte um vetor com os dias da semana.
dias <- c("domingo", "segunda", "terça", "quarta", "quinta", "sexta", "sábado")
dias
## [1] "domingo" "segunda" "terça" "quarta" "quinta" "sexta" "sábado"
Construa uma matriz 3 x 3 usando os números de 1 a 9.
matriz <- matrix(1:9, nrow = 3, byrow = TRUE)
matriz
## [,1] [,2] [,3]
## [1,] 1 2 3
## [2,] 4 5 6
## [3,] 7 8 9
Elabore um data.frame com nome, idade e cidade de origem
de três pessoas.
pessoas <- data.frame(
nome = c("alan", "mario", "Maria"),
idade = c(20, 25, 30),
cidade_natal = c("Rio de Janeiro", "São Paulo", "Belo Horizonte")
)
pessoas
## nome idade cidade_natal
## 1 alan 20 Rio de Janeiro
## 2 mario 25 São Paulo
## 3 Maria 30 Belo Horizonte
Apague os objetos existentes no ambiente e crie três variáveis
numéricas.
Depois, utilize todos os principais operadores de comparação.
rm(list = ls())
x <- 10
y <- 20
z <- 10
x > y
## [1] FALSE
x < y
## [1] TRUE
x >= z
## [1] TRUE
y <= z
## [1] FALSE
x == z
## [1] TRUE
x != y
## [1] TRUE
Crie variáveis de texto para rua, número e bairro.
Depois, una tudo em uma única informação de endereço.
rua <- "Rua Visconde de Abaeté"
numero <- "150"
bairro <- "vila isabel"
endereco <- paste(rua, numero, bairro, sep = ", ")
endereco
## [1] "Rua Visconde de Abaeté, 150, vila isabel"
Use um laço de repetição para somar os elementos de um vetor com valores de 1 a 10.
vetor <- 1:10
soma <- 0
for (i in 1:10) {
soma <- soma + vetor[i]
}
soma
## [1] 55
Calcule a média dos valores do vetor criado anteriormente.
media <- soma / length(vetor)
media
## [1] 5.5
Compare duas variáveis.
Se x for maior que y, exiba uma mensagem
correspondente; caso contrário, informe que y é maior.
x <- 15
y <- 10
if (x > y) {
print("x é maior que y")
} else {
print("y é maior que x")
}
## [1] "x é maior que y"
Repita a lógica anterior, mas agora verificando se x é
menor ou igual a y.
if (x <= y) {
print("x é menor ou igual a y")
} else {
print("x é maior que y")
}
## [1] "x é maior que y"
Some apenas os números pares do vetor.
soma_pares <- 0
for (i in vetor) {
if (i %% 2 == 0) {
soma_pares <- soma_pares + i
}
}
soma_pares
## [1] 30
Calcule o fatorial de um número inteiro.
n <- 5
fatorial <- 1
for (i in 1:n) {
fatorial <- fatorial * i
}
fatorial
## [1] 120
Crie uma matriz 4 x 4 preenchida com um único valor.
x <- matrix(1, nrow = 4, ncol = 4, byrow = TRUE)
x
## [,1] [,2] [,3] [,4]
## [1,] 1 1 1 1
## [2,] 1 1 1 1
## [3,] 1 1 1 1
## [4,] 1 1 1 1
Agora monte uma matriz 4 x 4 contendo a sequência de 1 até 16.
x <- matrix(1:16, nrow = 4, byrow = TRUE)
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
Transforme a matriz criada em um data.frame.
df <- as.data.frame(x)
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
A partir da matriz 4 x 4, faça diferentes cálculos estatísticos e somatórios.
# a) média da primeira coluna
mean(x[, 1])
## [1] 7
# b) média de cada coluna
apply(x, 2, mean)
## [1] 7 8 9 10
# c) média de cada linha
apply(x, 1, mean)
## [1] 2.5 6.5 10.5 14.5
# d) média dos números pares em cada coluna
apply(x, 2, function(coluna) mean(coluna[coluna %% 2 == 0]))
## [1] NaN 8 NaN 10
# e) média dos números ímpares em cada linha
apply(x, 1, function(linha) mean(linha[linha %% 2 != 0]))
## [1] 2 6 10 14
# f) soma da diagonal principal
sum(diag(x))
## [1] 34
# g) soma da diagonal secundária
sum(diag(x[, ncol(x):1]))
## [1] 34
Percorra os dados do data.frame e informe, para cada
valor, se ele é menor ou igual a 10 ou se é maior que 10.
for (i in 1:nrow(df)) {
for (j in 1:ncol(df)) {
if (df[i, j] <= 10) {
print(paste(df[i, j], "<= 10"))
} else {
print(paste(df[i, j], "> 10"))
}
}
}
## [1] "1 <= 10"
## [1] "2 <= 10"
## [1] "3 <= 10"
## [1] "4 <= 10"
## [1] "5 <= 10"
## [1] "6 <= 10"
## [1] "7 <= 10"
## [1] "8 <= 10"
## [1] "9 <= 10"
## [1] "10 <= 10"
## [1] "11 > 10"
## [1] "12 > 10"
## [1] "13 > 10"
## [1] "14 > 10"
## [1] "15 > 10"
## [1] "16 > 10"
Crie um for que apresente 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
Monte um vetor com os números de 1 a 100 e filtre apenas os valores pares.
vetor <- 1:100
pares <- vetor[vetor %% 2 == 0]
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
Crie uma função que devolva o maior valor de um vetor numérico.
maior_elemento <- function(vetor_numerico) {
max(vetor_numerico)
}
maior_elemento(c(10, 5, 8, 2, 20, 15))
## [1] 20