A apostila contendo o conteúdo e os exercícios estão disponíveis em https://resendejss.github.io/introducaoALinguagemR/
Utilizando o data frame “trees” responda as seguintes questões:
data(trees)
dim(trees)
## [1] 31 3
# outra forma
nrow(trees) # quantidade de linhas
ncol(trees) # quantidade de colunas
unique(is.na(trees))
## Girth Height Volume
## [1,] FALSE FALSE FALSE
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)
# 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)
# 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)
# 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
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:
### 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)
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)
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)
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
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")