Exercícios
Sessão 1: Operadores e operações básicas
1- Em um experimento de valor de cultivo e uso (VCU) na cultura do milho, as parcelas são constituídas de duas linhas de quatro metros, espaçadas 0,60 m, totalizando 6 plantas por linha. As alturas das plantas foram respectivamente (em metros): 1,45; 1,73; 1,98; 2,10; 2,03; 1,65; 2,15; 1,63; 1,53; 1,98; 2,05; 1,52.
a)Crie um vetor altura com os valores acima
b)Calcule a altura média
c)Calcule a variância das alturas
Respostas:
Para visualizar a resposta basta mover o cursor em cima do “Alerta de spoiler!”
b)1.816667
c)0.06540606
2- Na disciplina de Genética foram avaliados altura e peso dos 10 alunos, sendo 5 meninas e 5 meninos. Veja a tabela abaixo com os respectivos valores:
Nome | Peso (kg) | Altura (m) |
---|---|---|
Maria José | 72 | 1,65 |
Mariana | 57 | 1,68 |
Fernanda | 49 | 1,53 |
Jéssica | 62 | 1,7 |
Carolina | 57 | 1,52 |
Paulo | 90 | 1,82 |
Marcos | 53 | 1,63 |
João Paulo | 76 | 1,78 |
Geraldo | 63 | 1,72 |
Pedro | 92 | 1,98 |
a)Calcule o IMC de cada aluno, segundo a fórmula: \(IMC = \frac{peso}{altura^2}\)
b)Calcule o IMC médio da sala
c)Calcule a variância do IMC
d)Calcule o desvio padrão do IMC
Respostas:
a)26.44628 20.19558 20.93212 21.45329 24.67105 27.17063 19.94806 23.98687 21.29529 23.46699
b)22.95662
c)6.665578
d)2.581778
3 - Resolva a equação: \(2x^2 + 8x + 6 = 0\), utilizando a fórmula de Bhaskara. Lembrando que: \(x = \frac{-b\pm\sqrt{\Delta}}{2a}\); \(\Delta=b^2 - 4ac\)
Resposta:
-3 -1
Sessão 2: Classe de objetos
1 - Carregue o conjunto de dados chamado “mtcars” (attach(mtcars)).
a)Verifique a classe do objeto “mtcars”
b)Verifique a classe das colunas “hp” e “cyl”
c)Verifique a classe do nome dos carros. (rownames)
Respostas:
a)“data.frame””
b)“numeric” “numeric”
c)“character”
2 - Utilizando o mesmo conjunto de dados do exercício anterior, calcule:
a)A média da coluna “hp”.
b)Modifique a classe da coluna “hp” para fator e calcule a média novamente.
c)Compare os resultados obtidos nas letras a e b, e relate as diferenças entre eles.
Respostas:
a)146.6875
b)NA e um warning
3 - Crie um vetor de uma amostra da distribuição Normal com comprimento 3000, média 20 e desvio padrão 5. Antes de criar o vetor, utilize set.seed(123456).
a)Qual o somatório das observações no vetor que são maiores que 30?
b)E o somatório das observações menores que a média? OBS: Calcule a média do conjunto de valores que você acabou de gerar.
c)Excluir a menor observação do vetor.
Respostas:
a)2610.638
b)23976.86
c)apenas o “head”: 24.16867 18.61976 18.22499 20.43744 31.26128 24.17230
c)O valor mínimo: 1.170791
4 - Em algumas áreas experimentais de soja foram identificadas a presença de alguns nematoides.
Área | Nematoide | Produtividade da área (kg/ha) | |
---|---|---|---|
A1 | Meloidogyne incognita | 2700 | |
A2 | Meloidogyne incognita | 2500 | |
A3 | Heterodera glycines | 2000 | |
A4 | NA | 3200 | |
A5 | Pratylenchus brachyurus | 2900 | |
A6 | NA | 3500 | |
A7 | Meloidogyne javanica | 2300 | |
A8 | NA | 3800 |
- Crie um data frame com as informações da tabela acima
b)Crie uma coluna contendo o munícipio que cada área é localizado (Piracicaba-SP, Rio Verde-GO, Londrina-PR, Barreiras-BA, Uberaba-MG, Rondonopólis-MT, Vilhena-RO, Gurupi-TO)
c)Quais os tipos de nematóides que afetam as áreas avaliadas?
d)Qual nematóide teve maior impacto na produtividade? E o menor impacto?
e)A média de produtividade das áreas afetadas por Meloidogyne incognita é maior que a média das áreas afetadas por todos os outros nematóides?
Respostas:
c)“Heterodera glycines”, “Meloidogyne incognita”, “Meloidogyne javanica”, Pratylenchus brachyurus”
d)Maior impacto: Heterodera glycines
Menor impacto: Pratylenchus brachyurus
e)Sim. A média de produtividade das áreas de M. incognita (2.6 kg/ha) é maior que a média das áreas afetadas por outros (2.4 kg/ha)
Sessão 3: Estruturas condicionais e de repetição
1 - Crie um objeto “a” contendo uma sequência de 1 a 5. Usando qualquer estrutura de repetição, some o número 8 a cada um dos elementos de “a”, até que a soma de todos os elementos seja igual ou superior a 10000.
Respostas:
2001 2002 2003 2004 2005
2 - Repita a frase “x tigre(s) triste(s) comeram x pratos de trigo”, em que x seja um número inteiro da sua escolha.
Respostas:
Se a escolha do valor foi um: 1 tigre triste comeu 1 prato de trigo.
Se a escolha do valor foi dois: 1 tigre triste comeu 1 prato de trigo. 2 tigres tristes comeram 2 pratos de trigo.
3 - Hora de descontrair! Você conhece a música Hey Jude? Repita quantas vezes você quiser o verso:
“Na, na, na, na-na-na na
Na-na-na na, hey Jude”
4 - Utilize a expressão abaixo para gerar médias de produtividade, considerando 50 genótipos de soja, de forma aleatória:
Suponhamos que a média nacional de produtividade de soja seja de 3500.00 kg/ha. Utilizando estruturas condicionais, verifique se os genótipos apresentam valores acima ou abaixo da produtividade média nacional, retornando as frases “acima da média” ou “abaixo da média”, respectivamente.
Respostas:
[1] “acima da média” “abaixo da média” “abaixo da média” “acima da média” “acima da média” “acima da média” [7] “acima da média” “acima da média” “acima da média” “abaixo da média” “abaixo da média” “abaixo da média” [13] “abaixo da média” “acima da média” “acima da média” “acima da média” “abaixo da média” “acima da média” [19] “acima da média” “acima da média” “abaixo da média” “acima da média” “acima da média” “acima da média” [25] “acima da média” “abaixo da média” “acima da média” “acima da média” “acima da média” “abaixo da média” [31] “abaixo da média” “acima da média” “abaixo da média” “abaixo da média” “abaixo da média” “abaixo da média” [37] “acima da média” “acima da média” “acima da média” “abaixo da média” “abaixo da média” “acima da média” [43] “acima da média” “abaixo da média” “acima da média” “abaixo da média” “abaixo da média” “abaixo da média” [49] “acima da média” “abaixo da média”
5 - Usando os seguintes dados:
temperatures <- c(25, 28, 32, 30, 24, 23, 26)
days <- c("Seg", "Ter", "Qua", "Qui", "Sex", "Sab", "Dom")
Crie um código para:
Classificar temperaturas (Quente: >=30; Ameno: 25-29, Fresco: <25)
Imprimir um relatório diário com “!” para dias quentes. Um relatório como:
- “Hoje é [dia] e está [temperatura]°C. É um dia [classificação].”
- “Está quente hoje!” (se aplicável)
- Gerar estatísticas resumidas indicando quais dias foram quentes, quais dias foram frescos e a temperatura média dos dias amenos.
Respostas:
[1] “Hoje é Seg e está 25°C. É um dia ameno.” [1] “Hoje é Ter e está 28°C. É um dia ameno.” [1] “Hoje é Qua e está 32°C. É um dia quente.” [1] “Hoje é Qui e está 30°C. É um dia quente.” [1] “Hoje é Sex e está 24°C. É um dia fresco.” [1] “Hoje é Sab e está 23°C. É um dia fresco.” [1] “Hoje é Dom e está 26°C. É um dia ameno.”
[1] “Hoje é Seg e está 25°C. É um dia ameno.” [1] “Hoje é Ter e está 28°C. É um dia ameno.” [1] “Hoje é Qua e está 32°C. É um dia quente!” [1] “Hoje é Qui e está 30°C. É um dia quente!” [1] “Hoje é Sex e está 24°C. É um dia fresco.” [1] “Hoje é Sab e está 23°C. É um dia fresco.” [1] “Hoje é Dom e está 26°C. É um dia ameno.”
Resumo: Dias quentes: 2 Dias frescos: Sex, Sab Temperatura média dias amenos: 26.3°C
Sessão 4: Funções
Utilize o conjunto de dados disponível abaixo para gerar médias de produtividade, considerando 25 genótipos de soja avaliados em 15 ambientes, de forma aleatória:
set.seed(123456)
dados = data.frame(Genotypes = rep(seq(1,25,1), 15), Environments = rep(x = seq(1:15), each = 25), yield = rnorm(375, 3000:3500, 800))
Elabore uma função para calcular as médias e o coeficiente de variação (\(CV = \frac{\mu}{\sigma}*100\)) em cada ambiente, e também avaliar a precisão experimental (até 20% = alta; entre 20 e 30% = média; acima de 30% = baixa). A função deve retornar os resultados contendo a identificação de cada ambiente, as médias, os CV’s e as precisões.
Pode ser que a essa altura do curso você ja tenha que ter trabalhado com diversas frustrações: o código não roda, precisou de várias tentativas até dar certo. Talvez você se sinta caindo naquele gráfico de andamento do aprendizado que mostramos na apresentação teórica. Por isso, colocamos aqui alguns vídeos motivacionais. São três palestras TED excelentes (como costuma ser os TEDs).
Esses dois tem legenda em portugues. É só ajustar as configurações:
Teach girls bravery, not perfection | Reshma Saujani Especial para mulheres. Fala como aprender a programar nos educa a lidarmos melhor com nossas frustrações e nos desvia da cultura imposta de perfeição.
Mitch Resnick: Let’s teach kids to code O palestrante é um dos desenvolvedores do programa Scratch, que consiste num jogo que ensina lógica de programação. O palestrante destaca a importância de aprender alguma linguagem de programação dos dias de hoje.
Esse só em inglês:
- You Should Learn to Program: Christian Genco at TEDxSMU Destaca os impactos de saber programar no dia-a-dia.
Extra: Família dos apply
1 - Utilize a função abaixo para gerar médias de produtividade, considerando 25 genótipos de soja avaliados em 15 ambientes, de forma aleatória:
set.seed(123456)
dados = data.frame(Genotypes = rep(seq(1,25,1), 15), Environments = rep(x = seq(1:15), each = 25), yield = rnorm(375, 3000:3500, 800))
Utilizando funções da família “apply”, obtenha as médias gerais de cada genótipo e também de cada ambiente.