⚠️Você irá entregar essa lista de exercício no Moodle da disciplina. Para isso, você irá submeter um único arquivo com as suas respostas que será feito usando a linguagem markdown.

Caso você tenha dificuldades nesse processo, você pode me enviar uma mensagem pelo Moodle com informações sobre os erros encontrados para que eu possa te ajudar.

Instruções

  • Utilize o mesmo arquivo template que você já usou na Lista 1 para editar e responder aos exercícios abaixo.

  • Quando terminar de responder, gere o arquivo final clicando em Knit, confira os resultados, e então submeta-o no Moodle.👍

  • Lembre-se que você pode controlar como o R irá incluir os chunks de código com as opções eval, echo, results entre outras. Veja as principais opções no cheatsheet, ou então mais detalhes no link https://rmarkdown.rstudio.com/lesson-3.html.

Uso de IA

Vale a política de uso de IA descrita na página inicial da disciplina: você pode usar ferramentas de IA como apoio ao estudo, mas as respostas devem ser suas e você deve saber explicar cada linha do código entregue. Inclua ao final da sua lista uma breve declaração indicando se e como você usou IA.

Funções no R

  1. Escreva uma função seqrep(n) que retorne o vetor (1, 2, 2, 3, 3, 3, ..., n), onde cada inteiro \(k\) é repetido \(k\) vezes. Qual é o tamanho desse vetor para n=50? (Não imprima o vetor todo, informe apenas o seu tamanho.) Esse tamanho tem alguma relação simples com n?

  2. Dado um vetor x, escreva uma função que retorne apenas os elementos de x que forem maiores do que a média de x.

  3. Aplique a função do Exercício 2 ao vetor gerado pela função seqrep(n) acima para n=10, e imprima o resultado. Quantos elementos foram retornados? Esse número é o que você esperava, considerando como o vetor foi construído?

  4. Calcule o resultado da expressão: \[\sum_{i=10}^{20} (i^2 + 4/i) \]

  5. Calcule o resultado da expressão: \[\sum_{i=1}^{10} \sum_{j=1}^{10} \frac{i^2}{(5+i*j)} \]

  6. Dado a = c(-0.2,0.2,0.49,0.5,0.51,.99,1.2), qual é a diferença entre as funções trunc(a), floor(a), ceiling(a) e round(a)? Para quais valores de a as quatro funções retornam o mesmo resultado, e por quê?

  7. Dado um vetor x, use a função ifelse() para gerar um vetor de mesmo tamanho de x com o logaritmo dos números que forem positivos, e NA quando os elementos forem negativos. Aplique esta função ao vetor gerado pelos comandos abaixo:

set.seed(1)
x = runif(20,-1,1)

Quantos valores do vetor resultante ficaram como NA? Esse número é consistente com o número de elementos negativos gerados em x?

  1. Crie um vetor de tamanho 100, onde os elementos sejam strings da forma “Seg1”, “Seg2”, …, “Seg100”.

Base de Dados

  1. Encontre o banco de dados accident do pacote hmmm. Quantas linhas tem o banco de dados? E quantos acidentes no total foram registrados? Inclua os comandos que você utilizou para encontrar as respostas.

  2. Qual é a média da variável Freq para os acidentes do tipo uncertain? Compare com a média geral de Freq na base. Considerando os acidentes do tipo avoidable, encontre os valores das demais variáveis (tempo afastado, faixa etária e período do dia) em que houve mais acidentes. Algum desses resultados te chamou atenção?