A apostila contendo o conteúdo e os exercícios estão disponíveis em https://resendejss.github.io/introducaoALinguagemR/

Exercício 01

Utilizando o data frame “trees” responda as seguintes questões:

  1. Qual a dimensão do objeto “trees”?
data(trees)
dim(trees)
## [1] 31  3
# outra forma
nrow(trees) # quantidade de linhas
ncol(trees) # quantidade de colunas
  1. Alguma variavel possui valores ausentes?
unique(is.na(trees))
##      Girth Height Volume
## [1,] FALSE  FALSE  FALSE
  1. Existe alguma variável do tipo “caracter”?
is.character(trees$Girth)
## [1] FALSE
is.character(trees$Height)
## [1] FALSE
is.character(trees$Volume)
## [1] FALSE
# Nao, todas sao numericas
# outra forma
str(trees)
  1. Qual a media de cada variavel?
# aqui o objetivo é usar o summary e anotar as informações do summary em cada resposta (média, min e maximo)

summary(trees)
##      Girth           Height       Volume     
##  Min.   : 8.30   Min.   :63   Min.   :10.20  
##  1st Qu.:11.05   1st Qu.:72   1st Qu.:19.40  
##  Median :12.90   Median :76   Median :24.20  
##  Mean   :13.25   Mean   :76   Mean   :30.17  
##  3rd Qu.:15.25   3rd Qu.:80   3rd Qu.:37.30  
##  Max.   :20.60   Max.   :87   Max.   :77.00
mean(trees$Girth)
## [1] 13.24839
mean(trees$Height)
## [1] 76
mean(trees$Volume)
## [1] 30.17097
# outra forma
colMeans(trees)
  1. Qual o minimo e maximo de cada variavel?
# pode puxar pelo summary
min(trees$Girth)
## [1] 8.3
max(trees$Girth)
## [1] 20.6
min(trees$Height)
## [1] 63
max(trees$Height)
## [1] 87
min(trees$Volume)
## [1] 10.2
max(trees$Volume)
## [1] 77
# outra forma
range(trees$Girth)
range(trees$Height)
range(trees$Volume)
  1. Na descrição desse data set qual a unidade de cada coluna? Metros, pés, polegadas?
# execute ?trees para visualizar a descricao do data set

# [,1]  Girth   numeric Tree diameter (rather than girth, actually) in inches
# [,2]  Height  numeric Height in ft
# [,3]  Volume  numeric Volume of timber in cubic ft

Exercício 02

Para esse exercício considere 1 polegada = 0.0254 metros e 1 pé = 0.3048 metros e 1 pé³ = 0.028317 metros cúbicos. Faça as seguintes alterações:

  1. Passe os valores da variável “Girth” para metros.
### O objetivo desse exercício é fazer as conversões de unidades, utilizando operações matemáticas e inserindo os dados convertidos nas colunas

trees$Girth <- trees$Girth * 0.0254
# outra forma
## criando a funcao
PolMet <- function(polegada){
  metros = polegada * 0.0254
  return(metros)
}

## executando a funcao
trees$Girth <- PolMet(trees$Girth)
  1. Passe os valores da variável “Height” para metros.
trees$Height <- trees$Height * 0.3048
# outra forma
## criando a funcao
peMet <- function(pe){
  metros = pe * 0.3048
  return(metros)
}

## executando a funcao
trees$Height <- peMet(trees$Height)
  1. Passe os valores da variável “Volume” para m³
trees$Volume <- trees$Volume * 0.028317
# outra forma
## criando a funcao
pe3Met3 <- function(x){
  res = x * 0.028317
  return(res)
}

## executando funcao
trees$Volume <- pe3Met3(trees$Volume)

Exercício 03

Filtre a tabela para somente observações com altura acima de 23m. Quantas observações sobraram?

trees23 <- trees[trees$Height > 23,]
nrow(trees23) #17
## [1] 17

Exercício 4

Exporte esse conjunto de dados para o seu diretório de trabalho

# Aqui o objetivo é exportar o data frame alterado. Ou seja, puxamos um dado, corrigimos a unidade e exportamos para trabalhar posteriormente
write.csv(trees, file = "trees.csv")

# Opção de exportar em excel
writexl::write_xlsx(trees, "trees.xlsx")