library(learnr)

knitr::opts_chunk$set(echo = TRUE)
tutorial_options(exercise.eval = FALSE)

#Cria um vetor vazio
vet.e <- numeric()
#Aumentamos o vetor
vet.e <- vet.e[1:10]

Indexando Vetores

Podemos também modificar vetores utilizando a indexação.

#Cria um vetor vazio
vet.e <- numeric()
#Aumentamos o vetor
vet.e <- vet.e[1:10]
str(vet.e)

Dê valores para os elementos 3, 5 e 9 e verifique o vetor vet.e:

vet.e[3] <- 15
vet.e[5] <- 10
vet.e[9] <- 22
vet.e 

Execute o comando abaixo múltiplas vezes...

vet.e[sample(1:10,3,replace=T)] <- sample(1:10,3,replace=T);vet.e

Indexando Matrizes

Observe a criação das seguintes matrizes:

#Criando uma matriz
(x <- matrix(1:20,4,5))
(i <- matrix(c(1:3, 3:1),3,2))

Dê $0$ aos elementos formados pelas linhas de i:

x[i] <- 0
x

Verifique que os elementos que receberam valor 0 foram: $x_{13}$, $x_{22}$ $x_{31}$.

question_text("Entendeu? Explique",
          answer(NULL, correct = TRUE),
  allow_retry = FALSE,
  try_again_button = "Refazer resposta",
  incorrect = "Ok"
)

seq

Explique:

#a
seq(2,10)
#b
seq(2.1,8)
#c
seq(2.1,8.1)
question("Quantos argumentos foram dados",
         answer("1"),
         answer("2", correct = TRUE),
         answer("3"))
question("Qual o incremento assumido ",
         answer("1", correct = TRUE),
         answer("2"),
         answer("3"))
question("Qual o segundo argumento?",
         answer("to", correct = TRUE),
         answer("by"),
         answer("length"))
question("o que está errado no seguinte comando:",
         answer("A ordem dos argumentos"),
         answer("O sinal do terceiro argumento", correct = TRUE),
         answer("O tamanho do vetor"))
seq(30,20,1)

rep

Escolha os comandos que gerem as seguintes sequências:

a

rep(seq(1,19, 2), 2)

question("O comando é:",
         answer("`rep(seq(1,19, 2), 1)`"),
         answer("`rep(seq(1,19, 2), 2)`", correct = TRUE),
         answer("`rep(seq(1,19, 1), 2)`"))

b

rep(seq(1,19, 2), rep(3,10))

question("O comando é:",
         answer("`rep(seq(1,19, 2), rep(2,10))`"),
         answer("`rep(seq(1,19, 2), rep(3,10))`", correct = TRUE),
         answer("`rep(seq(1,19, 2), rep(1:3,10))`"))

c

rep(seq(1,19, 2), seq(10,1,-1))

question("O comando é:",
         answer("`rep(seq(1,19, 2), seq(10,1,-2))`"),
         answer("`rep(seq(1,19, 2), seq(10,2,-1))`"),
         answer("`rep(seq(1,19, 2), seq(10,1,-1))`", correct = TRUE))

d

rep(seq(1,19, 2), 1:10)

question("O comando é:",
         answer("`rep(seq(1,10, 2), 1:19)`"),
         answer("`rep(seq(1,19, 2), 1:10)`", correct = TRUE),
         answer("`rep(seq(1,19, 2), 1)`"))

e

rep(factor(LETTERS[1:4]),seq(1,4,1))

question("O comando é:",
         answer("`rep(factor(LETTERS[1:4]),seq(1,4,4))`"),
         answer("`rep(factor(LETTERS[1:3]),seq(1,3,1))`"),
         answer("`rep(factor(LETTERS[1:4]),seq(1,4,1))`", correct = TRUE))

f

rep(factor(letters[15:6]),seq(20,1,-2))

question("O comando é:",
         answer("`rep(factor(letters[15:6]),seq(20,1,-2))`", correct = TRUE),
         answer("`rep(factor(letters[15:6]),seq(20,1,-1))`"),
         answer("`rep(factor(letters[15:6]),seq(20,2,-2))`"))

g

rep(1:5, 5)

question("O comando é:",
         answer("`rep(1:4, 5)`"),
         answer("`rep(1:5, 5)`", correct = TRUE),
         answer("`rep(1:6, 5)`"))

h

rep(0:4, each=5)

question("O comando é:",
         answer("`rep(0:5, each=4)`"),
         answer("`rep(0:4, each=4)`"),
         answer("`rep(0:4, each=5)`", correct = TRUE))

i

rep(0:4,5)+rep(c(1:5),each=5)

question("O comando é:",
         answer("`rep(0:4,4)+rep(c(1:4),each=5)`"),
         answer("`rep(0:4,5)+rep(c(1:5),each=5)`", correct = TRUE),
         answer("`rep(0:4,5)+rep(c(1:5),each=4)`"))

j

rep(1:5, 1:5)

question("O comando é:",
         answer("`rep(1:5, 1:5)`", correct = TRUE),
         answer("`rep(1:4, 1:4)`"),
         answer("`rep(5:1, 5:1)`"))

Exercícios

Exercício 1

Considere as matrizes A1:

(A1 <- matrix(1:16, 4, 4, byrow=F))

e A2:

(A2 <- matrix(1:16, 4, 4, byrow=T))
  1. Extraia a submatriz composta da terceira e quarta linhas da matriz transposta de A1 unida com a transposta da segunda coluna da matriz resultante da multiplicação de A1 e A2. Forneça UMA LINHA de código para chegar na seguinte matriz:

t()
rbind(t(A1)[3:4,],t(A1%*%A2[,2]))
  1. Repita o exercício anterior, utilizando índices negativos e chegue na mesma matriz

c(-1,-2)
rbind(t(A1)[c(-1,-2),],t(A1%*%A2[,c(-1,-3,-4)]))

Exercício 2

Verifique a diferença entre as sequências:

seq(-1,1,0.2)
seq(1,-1,-0.2)

Escreva os códigos para gerar as sequências acima:


seq()
seq(-1,1,0.2)
seq(1,-1,-0.2)

Exercício 3

Construa a matriz mm.a (dê esse nome a ela) abaixo:

mm.a <- matrix(c(0.2,0.3,0.8,0.7), ncol=2)
rownames(mm.a) <- c("Sol","Chuva")
colnames(mm.a) <-c("Sol","Chuva")
mm.a

Usando indexação, modifique a matriz para (escreva os comandos necessários para tal):

mm.a[2,1] <- 0
mm.a[1,2] <- 1
mm.a[1,1] <- mm.a[1,1]*2
mm.a[2,2] <- mm.a[2,2]*2
mm.a

list()
mm.a <- matrix(c(0.2,0.3,0.8,0.7), ncol=2)
rownames(mm.a) <- c("Sol","Chuva")
colnames(mm.a) <-c("Sol","Chuva")
mm.a
mm.a[2,1] <- 0
mm.a[1,2] <- 1
mm.a[1,1] <- mm.a[1,1]*2
mm.a[2,2] <- mm.a[2,2]*2
mm.a

Exercício 5

Verifique ao que se equivale o próximo comando:

y <- -10:10
y[y < 0] <- -y[ y< 0]



AlinneVeiga/EstComp1_2021_1 documentation built on May 13, 2021, 8:45 a.m.