Execute os tutoriais precedentes nesta série:
Ou, utilize este arquivo que foi previamente coletado.
Os passos anteriores de execução do Chameleon geram um arquivo txt do seguinte formato:
“Nome,Escalonador,Tamanho,Tempo”
No container, lance um processo R no diretório onde foi gravado o
arquivo cha_results.txt, para tal, basta:
RA partir de agora, todos os comandos são no shell do R.
Carregue o meta-pacote tidyverse com todas as demais funções que precisamos.
options(crayon.enabled = FALSE)
library(tidyverse)Vamos ler o arquivo CSV, informando o nome das colunas e seus tipos.
df <-
read_csv("cha_results.txt",
col_names=c("Nome","Escalonador","Tamanho","Tempo"),
col_types=cols(
Nome = col_integer(),
Escalonador = col_character(),
Tamanho = col_integer(),
Tempo = col_double()
))
df# A tibble: 12 x 4
Nome Escalonador Tamanho Tempo
<int> <chr> <int> <dbl>
1 1 random 9600 1.40
2 2 random 4800 0.448
3 3 dmdas 9600 1.00
4 4 dmdas 4800 0.394
5 5 random 4800 0.359
6 6 random 9600 1.29
7 7 dmdas 9600 0.972
8 8 dmdas 4800 0.397
9 9 dmdas 4800 0.362
10 10 random 9600 1.21
11 11 dmdas 9600 0.907
12 12 random 4800 0.397
Vamos realizar uma transformação de dados:
group_bypara criar grupos sobre os quais as próximas operações se aplicaramsummarizepara transformar todas as linhas de um grupo em uma linha
df %>%
group_by(Escalonador, Tamanho) %>%
summarize(N=n(),
Média = mean(Tempo, na.rm=TRUE),
Erro = 3*sd(Tempo)/sqrt(N)) -> df.0
df.0# A tibble: 4 x 5 # Groups: Escalonador [2] Escalonador Tamanho N Média Erro <chr> <int> <int> <dbl> <dbl> 1 dmdas 4800 3 0.384 0.0336 2 dmdas 9600 3 0.96 0.0834 3 random 4800 3 0.401 0.0773 4 random 9600 3 1.30 0.166
Siga para o passo #4 Gráficos.