Atividade 12

Questão 1

MRT_1F <-c(517.1468515630205, 85.13094142168089, 30.333207896694553, 12.694776264558937, 3.3041601673945418, 1.1823111717498882, 1.1892293502386786)

MRT_3F <-c(156.68929936163462, 11.540837783562276, 0.4512835621696538, 0.4509797929766453, 0.4502068233039181, 0.4496185276300172, 0.4543157082191288)

MRT_5F <-c(83.90319666471157, 0.3068151086494968, 0.30522314133037304, 0.3072588968084928, 0.30655265997285697, 0.3055812715727718, 0.3053297166713006)

MRT_10F <-c(29.55430642951759, 0.19832832665772515, 0.1971923924717474, 0.19796648905716516, 0.19615594370806338, 0.2034569237883263, 0.19617420889447737)

MRT_15F <-c(11.317736530583566, 0.167364215666193, 0.16172168266811013, 0.16701085329580515, 0.1598052657153692, 0.1645934043532696, 0.16216563797118075)

MRT_sem_F <-c(11.93430909937736, 0.6095414637034009, 0.6060645101029295, 0.612167181646899, 0.6146761002685637, 0.6096747087200697, 0.6125810476877268)

clock <- c(0.1, 0.5, 1, 1.5, 2, 2.5, 3)


plot(clock, MRT_1F, type="o", pch=4, col="black",
     xlab="Time between Things requests (seconds)",  
     ylab="Response Time (sec)", xlim=c(0,3), ylim=c(0,550))

lines(clock, MRT_3F, type="o", col="yellow", pch=11)
lines(clock, MRT_5F, type="o", col="red", pch=1)
lines(clock, MRT_10F, type="o", col="blue", pch=2)
lines(clock, MRT_15F, type="o", col="purple", pch=5)
lines(clock, MRT_sem_F, type="o", col="green", pch=4)
legend("topright", pch=c(4,11,1,2,5,4), col=c("black","yellow","red","blue","purple","green"), legend = c("1 Fog", "3 Fog", "5 Fog", "10 Fog", "15 Fog", "w/o Fog"), lwd=1)

colors <- c("#E6E6E6", "#666666")
par(mfrow=c(2,2))

## gráfico 1
Values <- matrix(c(MRT_sem_F, MRT_1F), nrow = 2, ncol = 7, byrow = TRUE)
barplot(Values, ylab = "Response time (s)", xlab = "Time between Things requests", names.arg = clock, col = colors, beside = T,  log="y")
legend("topright", pch = 15, col = colors, legend = c("w/o Fog", "1 Fog"))

## gráfico 2
Values <- matrix(c(MRT_sem_F, MRT_3F), nrow = 2, ncol = 7, byrow = TRUE)
barplot(Values, ylab = "Response time (s)", xlab = "Time between Things requests", names.arg = clock, col = colors, beside = T,  log="y")
legend("topright", pch = 15, col = colors, legend = c("w/o Fog", "3 Fog"))

## gráfico 3
Values <- matrix(c(MRT_sem_F, MRT_5F), nrow = 2, ncol = 7, byrow = TRUE)
barplot(Values, ylab = "Response time (s)", xlab = "Time between Things requests", names.arg = clock, col = colors, beside = T,  log="y")
legend("topright", pch = 15, col = colors, legend = c("w/o Fog", "5 Fog"))


## gráfico 4
Values <- matrix(c(MRT_sem_F, MRT_10F), nrow = 2, ncol = 7, byrow = TRUE)
barplot(Values, ylab = "Response time (s)", xlab = "Time between Things requests", names.arg = clock, col = colors, beside = T,  log="y")
legend("topright", pch = 15, col = colors, legend = c("w/o Fog", "10 Fog"))

## gráfico 5
Values <- matrix(c(MRT_sem_F, MRT_15F), nrow = 2, ncol = 7, byrow = TRUE)
barplot(Values, ylab = "Response time (s)", xlab = "Time between Things requests", names.arg = clock, col = colors, beside = T,  log="y")
legend("topright", pch = 15, col = colors, legend = c("w/o Fog", "15 Fog"))

Questão 2

meal_price <- c("$10-19", "$20-29", "$30-39", "$40-49")
quality_rating <- c("Good", "Very Good", "Excellent")
good <- c(53.8, 33.9, 2.6, 0.0)
very_good <- c(43.6, 54.2, 60.5, 21.4)
excellent <- c(2.6, 11.9, 36.8, 78.6)
colors <- c("black", "red", "gray")
Values <- matrix(c(good, very_good, excellent), nrow = 3, ncol = 4, byrow = T)
barplot(Values, names.arg = meal_price, col = colors, main="Qualidade da Refeição de Acordo com o Preço")
legend("topright", pch = 15, col = colors, quality_rating)

Questão 3

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
#Convertendo para Celsius
airquality$Temp = (airquality$Temp - 32) / 1.8

#Filtrando temperaturas de maio
Temperature <- filter(airquality, Month == 5)$Temp

#Histograma
hist(Temperature, col="grey", probability=T, main= "Histograma da Temperatura para o Mês de Maio", ylab="Frequencia", xlab="Temperatura")

#Linha de densidade
densityTemp<-density(Temperature)
lines(densityTemp)

Questão 4

sales <- read.table("https://training-course-material.com/images/8/8f/Sales.txt",header=TRUE)
colors <- c("red", "orange", "yellow", "blue", "green", "pink")

sales$percent <- round(sales$SALES / sum(sales$SALES) * 100)
pie(sales$percent, paste(sales$percent, '%'), col=colors, main="Vendas/País")
legend("topright", pch=15, sales$COUNTRY, col=colors)

Questão 5

  boxplot(count~ spray, data=InsectSprays, outline = F, ylab="Nº de Insetos", xlab="Tipo de Inseticida", main="Insetos por Inseticidas", col="yellow")

Questão 6

plot(mtcars$wt, mtcars$mpg, main="Peso por Millha do Dataset Mtcars", xlab="Peso", ylab="Milhas")
abline(lm(mtcars$mpg~mtcars$wt), col = "pink")

Questão 7

time_processing <- function(data){
  #Converte datetime para segundos
  new_time <- as.numeric(as.POSIXct(data$currentTime))
  new_time <- new_time - min(new_time)
  
  #Converte para horas
  data$currentTime <- new_time/3600
  return (data)
}

mbToGb <- function(data){
  #Remove texto da medida
  mb <- as.numeric(gsub("MB", "", data$usedMemory)) 
  gb <- as.numeric(gsub("GB", "", data$usedMemory)) * 1000
  # Junta dados em MB e em GB
  new_usedMemory <- rbind(mb, gb)
  new_usedMemory[is.na(new_usedMemory)] <- 0
  data$usedMemory <- colSums(new_usedMemory)
  return (data)
}
data_01 <- mbToGb(time_processing(read.csv("monitoringCloudData_0.1.csv")))
## Warning in mbToGb(time_processing(read.csv("monitoringCloudData_0.1.csv"))): NAs
## introduced by coercion

## Warning in mbToGb(time_processing(read.csv("monitoringCloudData_0.1.csv"))): NAs
## introduced by coercion
data_05 <- mbToGb(time_processing(read.csv("monitoringCloudData_0.5.csv")))
## Warning in mbToGb(time_processing(read.csv("monitoringCloudData_0.5.csv"))): NAs
## introduced by coercion
## Warning in mbToGb(time_processing(read.csv("monitoringCloudData_0.5.csv"))): NAs
## introduced by coercion
data_1 <- mbToGb(time_processing(read.csv("monitoringCloudData_1.csv")))
## Warning in mbToGb(time_processing(read.csv("monitoringCloudData_1.csv"))): NAs
## introduced by coercion
data_NONE <- mbToGb(time_processing(read.csv("monitoringCloudData_NONE.csv")))
## Warning in mbToGb(time_processing(read.csv("monitoringCloudData_NONE.csv"))):
## NAs introduced by coercion
par(mfrow=c(2,2))
plot(data_NONE$currentTime, data_NONE$usedMemory, type = 'l', ylab = "Used Memory (MB)", xlab = "Time(hour)",  main = "Memory Analysis (None Workload)")

plot(data_01$currentTime, data_01$usedMemory, type = 'l', ylab = "Used Memory (MB)", xlab = "Time(hour)",  main = "Memory Analysis (Workload of 0.1)")

plot(data_05$currentTime, data_05$usedMemory, type = 'l', ylab = "Used Memory (MB)", xlab = "Time(hour)",  main = "Memory Analysis (Workload of 0.5)")

plot(data_1$currentTime, data_1$usedMemory, type = 'l', ylab = "Used Memory (MB)", xlab = "Time(hour)",  main = "Memory Analysis (Workload of 1)")