#===============================================================================
#
# Escreva uma função chamada 'prisoes' que calcula a soma das prisões em estados
# americanos do dataset USArrests.
#
# A função 'prisoes' recebe dois argumentos: 'estados' e 'tiposPrisoes'.
#
# Dado esses argumentos, a função retorna o total de prisões.
#
# Se não existir nem o estado ou o tipo de prisão, então uma mensagem de erro deve ser retornada.
#
# O protótipo dessa função é: prisoes <- function(estados, tiposPrisoes){}.
#
# As seguintes mensagens precisam ser apresentadas caso o estado ou
# o tipo de prisão estejam inválidos: "Estado Inválido" ou "Tipo de Prisão Inválida".
#
# De posse dessa função, responda as questões abaixo.
#
#
#===============================================================================
dt <- data.frame(USArrests)
View(dt)
estados <- c("Alabama", "Alaska")
tiposPrisoes <- c("Murder","UrbanPop")
tiposPrisoes <- c("123")
tiposPrisoes[which(tiposPrisoes!="UrbanPop")]
## [1] "123"
names(USArrests)
## [1] "Murder" "Assault" "UrbanPop" "Rape"
sum(dt[estados,tiposPrisoes[which(tiposPrisoes!="UrbanPop")]])
## [1] 0
prisoes <- function(estados, tiposPrisoes){
dt <- data.frame(USArrests)
if(length(estados)==0){
return("Estado Inválido")
}
namesEstados <- c(rownames(dt))
for(i in 1:length(estados)){
if(length(which(namesEstados==estados[i]))==0){
return(message="Estado Inválido")
break
}
}
if(length(tiposPrisoes)==0 | length(which(tiposPrisoes!="UrbanPop"))==0){
return(message="Tipo de Prisão Inválida")
}
#Removi o UrbanPop
#tiposPrisoes <- tiposPrisoes[which(tiposPrisoes!="UrbanPop")]
namesTiposPrisoes <- names(dt)
for(i in 1:length(tiposPrisoes)){
if(length(which(namesTiposPrisoes==tiposPrisoes[i]))==0){ #Se os TiposPrisoes restantes constarem nos names do dt
return(message="Tipo de Prisão Inválida")
}
}
return(sum(dt[estados,tiposPrisoes]))
}
prisoes(estados,c("123"))
## [1] "Tipo de Prisão Inválida"
#===============================================================================
#Exemplos
prisoes(estados = "Oregon", tiposPrisoes = c("Rape","Murder"))
## [1] 34.2
prisoes(estados = c("Nevada","Washington"), tiposPrisoes = c("UrbanPop","Assault"))
## [1] 551
prisoes(estados = c("Pernambuco"), tiposPrisoes = c("Rape","Murder"))
## [1] "Estado Inválido"
#Qual é o total de prisões do código a seguir?
prisoes(estados="Tennessee", tiposPrisoes=c("Rape","Murder"))
## [1] 40.1
#Qual é o total de prisões do código a seguir?
prisoes(estados=c("California ","Miami", "Arizona"), tiposPrisoes=("Assault"))
## [1] "Estado Inválido"
#Qual é o total de prisões do código a seguir?
prisoes(estados=c("Pennsylvania","Mississippi", "Nebraska"), tiposPrisoes=c("Rape","UrbanPop","Assault"))
## [1] 693.5
#Qual é o total de prisões do código a seguir?
prisoes(estados=c("Vermont","Wisconsin", "Texas"), tiposPrisoes=c("Rape","Assalto"))
## [1] "Tipo de Prisão Inválida"
library(DT)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
data<- data.frame(starwars)
datatable(data)
datatable(
data,
style = "bootstrap",
caption = "Interactive DT table",
options = list(
pageLength = 5
)
)
Equação Quadrática:
\[ x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \]
Distribuição Binomial:
\[ P(X=k) = {n \choose k} p^k (1-p)^{n-k} \]
Distibuição Normal: \[ f(x) = \frac{1}{\sigma \sqrt{2\pi}} e^{ -\frac{(x-\mu)^2}{2\sigma^2} } \]
Regressão Linear:
\[ Y = X\beta + \epsilon \] Teorema de Bayes:
\[ P(A|B) = \frac{P(B|A)P(A)}{P(B)} \]
library(knitr)
include_graphics("https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTaaTGmELWv-oWw9EPwmVD6ebwcaGfrWAevUzDfsoA1ng&s")
library(knitr)
include_graphics("https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTnV5WuvTYmXnrpB4TxZTlwn4lI0E86IycwSzI_51fOBA&s")
(ARAúJO, GONçALVES, and BENEVENUTO, n.d.) (Lucca et al. 2013) (Leong, Lee, and Mak 2012) (Jayalakshmi and Sheshasaayee 2015) (Pavan et al. 1997)