Dadas 3 variáveis com valores numéricos, apresentar o resultado da soma das combinações dois a dois destes três números. Por exemplo, variáveis A, B e C, mostrar A + B, A + C, B + C.
rm(list = ls())
A <- 5; B <- 6; C <- 9
cat("A + B =", A + B, "\n")
## A + B = 11
cat("A + C =", A + C, "\n")
## A + C = 14
cat("B + C =", B + C, "\n")
## B + C = 15
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. Troca de valores entre A e B utilizando a variável auxiliar ‘Aux’.
rm(list = ls())
A <- 6
B <- 8
Aux <- A
A <- B
B <- Aux
cat("Novo valor de A:", A, "\n")
## Novo valor de A: 8
cat("Novo valor de B:", B, "\n")
## Novo valor de B: 6
Converter uma temperatura de Fahrenheit para Centígrados. C = (F - 32) * ( 5 / 9 ).
rm(list = ls())
F <- 100
C <- (F - 32) * (5 / 9)
cat("Temperatura de 100°F em Celsius:", C, "°C")
## Temperatura de 100°F em Celsius: 37.77778 °C
Escrever um algoritmo que defina um número X e calcule:
X3 - 4
O resto da divisão de X / 3
X(x/3) + 2
Raiz quadrada de X2
rm(list = ls())
X <- 9
cat("a) X^3 - 4 =", X^3 - 4, "\n")
## a) X^3 - 4 = 725
cat("b) Resto de X/3 =", X %% 3, "\n")
## b) Resto de X/3 = 0
cat("c) X elevado a (X/3)+2 =", X ^ ((X/3) + 2), "\n")
## c) X elevado a (X/3)+2 = 59049
cat("d) Raiz quadrada de X^2 =", sqrt(X^2), "\n")
## d) Raiz quadrada de X^2 = 9
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.
rm(list = ls())
numeros <- 1:10
print(numeros)
## [1] 1 2 3 4 5 6 7 8 9 10
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.
rm(list = ls())
dias <- c("Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado")
print(dias)
## [1] "Domingo" "Segunda" "Terça" "Quarta" "Quinta" "Sexta" "Sábado"
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.
rm(list = ls())
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
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.
rm(list = ls())
pessoas <- data.frame(
Nome = c("Raphael", "Ana", "Carlos"),
Idade = c(25, 30, 22),
Cidade_Natal = c("Rio de Janeiro", "São Paulo", "Curitiba")
)
print(pessoas)
## Nome Idade Cidade_Natal
## 1 Raphael 25 Rio de Janeiro
## 2 Ana 30 São Paulo
## 3 Carlos 22 Curitiba
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 <- 10; y <- 20; z <- 10
cat("x < y:", x < y, "\n")
## x < y: TRUE
cat("x > y:", x > y, "\n")
## x > y: FALSE
cat("x >= z:", x >= z, "\n")
## x >= z: TRUE
cat("x == z:", x == z, "\n")
## x == z: TRUE
cat("x != y:", x != y, "\n")
## x != y: TRUE
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 Palmeiras"; numero <- "150"; bairro <- "Centro"
endereco <- paste(rua, numero, bairro, sep = ", ")
print(endereco)
## [1] "Rua das Palmeiras, 150, Centro"
Elabore um algoritmo que:
Crie um vetor com uma sequência de 10 números.
Faça um loop para calcular a soma dos números do vetor.
Utilize o comando “vetor <- c(1:10)” para criar o vetor.
Utilize o comando “for( i in 1:10) { …comandos}” para realizar a soma.
Referencie os valores do vetor com o comando: “vetor[i]”, onde “i” é o índice referência(número) Ex. vetor: 1,2,3,4,5,6,7,8,9,10 | Soma dos números = 55.
rm(list = ls())
vetor <- c(1:10)
soma <- 0
for (i in 1:10) {
soma <- soma + vetor[i]
}
cat("Soma total do vetor =", soma)
## Soma total do vetor = 55
A partir do exercício anterior, faça a média dos valores contidos no vetor.
rm(list = ls())
vetor <- 1:10; soma <- 0
for (i in 1:10) { soma <- soma + vetor[i] }
media <- soma / 10
cat("Média dos valores =", media)
## Média dos valores = 5.5
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 sintaxe do comando de comparação é: if (x > y) {comandos…} else {comandos}
O comando print(“texto ou variável”) imprime a resposta na tela.
rm(list = ls())
x <- 15; y <- 10
if (x > y) {
print("x é maior que y")
} else {
print("y é maior que x")
}
## [1] "x é maior que y"
Repita o exercício “7)” realizando os seguintes ajustes:
rm(list = ls())
m <- matrix(1:9, 3, 3)
x <- m[1,1]; y <- m[3,3]
if (x <= y) {
print("x é menor ou igual a y")
} else {
print("x é maior que y")
}
## [1] "x é menor ou igual a y"
A partir do exercício “5)”, faça a soma somente dos números pares.
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”.
Utilize o comando de decisão “if” para saber se o número é par ou ímpar.
rm(list = ls())
numeros <- 1:10; soma_pares <- 0
for (i in 1:10) {
if (numeros[i] %% 2 == 0) {
soma_pares <- soma_pares + numeros[i]
}
}
cat("Soma apenas dos pares =", soma_pares)
## Soma apenas dos pares = 30
Faça um algoritmo que calcule e imprima o fatorial de um número inteiro.
rm(list = ls())
n <- 5; fatorial <- 1
for (i in 1:n) {
fatorial <- fatorial * i
}
cat("Fatorial de 5 é:", fatorial)
## Fatorial de 5 é: 120
Crie uma matriz 4x4.
Uma matriz no R comporta somente um tipo de dado (número, texto ou boleano).
O comando para criar a matriz é “x <- matrix(data = 1, nrow = 4, ncol = 4, byrow = TRUE)”
rm(list = ls())
x <- matrix(data = 1, nrow = 4, ncol = 4, byrow = TRUE)
print(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, crie uma matriz com a sequência de 1 a 16.
rm(list = ls())
matriz_16 <- matrix(data = 1:16, nrow = 4, ncol = 4, byrow = TRUE)
print(matriz_16)
## [,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 essa matriz em um data.frame
Um data.frame é uma estrutura de dados similar a matriz que pode conter dados diferentes em suas variáveis.
Lembre-se que também chamamos as colunas de variáveis e as linhas de registros.
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.
Utilize o comando “df <- as.data.frame(x)”
rm(list = ls())
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
a média de uma coluna da matriz do exercício “12)”.
A média de todas as colunas da matriz do exercício “12)”.
A média de todas as linhas da matriz do exercício “12)”.
A média dos números pares de todas as colunas da matriz do exercício “12)”.
A média dos números ímpares de todas as linhas da matriz do exercício “12)”.
A soma da diagonal principal da matriz.
A soma da diagonal secundária da matriz (desafio).
rm(list = ls())
m <- matrix(1:16, nrow = 4, ncol = 4, byrow = TRUE)
cat("Média da Coluna 1:", mean(m[,1]), "\n")
## Média da Coluna 1: 7
cat("Soma da Diagonal Principal:", sum(diag(m)), "\n")
## Soma da Diagonal Principal: 34
cat("Soma da Diagonal Secundária:", m[1,4] + m[2,3] + m[3,2] + m[4,1])
## Soma da Diagonal Secundária: 34
Repita o exercício “14)” com os dados do data.frame do exercício “13)”.
rm(list = ls())
df <- as.data.frame(matrix(1:16, 4, 4))
x <- df[1,1]; y <- df[4,4]
if (x <= y) {
print("x é menor ou igual a y")
}
## [1] "x é menor ou igual a y"
Crie um loop for que imprime os números de 1 a 10.
rm(list = ls())
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
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.
rm(list = ls())
original <- 1:100; pares <- c()
for (i in 1:100) {
if (original[i] %% 2 == 0) {
pares <- c(pares, original[i])
}
}
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
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).
rm(list = ls())
maior_elemento <- function(v) {
maior <- v[1]
for (i in 2:length(v)) {
if (v[i] > maior) { maior <- v[i] }
}
return(maior)
}
teste <- c(10, 5, 8, 2, 20, 15)
cat("Vetor teste:", teste, "\n")
## Vetor teste: 10 5 8 2 20 15
cat("Maior elemento:", maior_elemento(teste))
## Maior elemento: 20