Skip to content

Latest commit

 

History

History
123 lines (97 loc) · 3.4 KB

File metadata and controls

123 lines (97 loc) · 3.4 KB

Análise de dados

#3.0 Passos iniciais

Execute os tutoriais precedentes nesta série:

Ou, utilize este arquivo que foi previamente coletado.

#3.1 Parsing para extração de informações

Os passos anteriores de execução do Chameleon geram um arquivo txt do seguinte formato:

“Nome,Escalonador,Tamanho,Tempo”

#3.2 Leitura em R

No container, lance um processo R no diretório onde foi gravado o arquivo cha_results.txt, para tal, basta:

R

A 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_by para criar grupos sobre os quais as próximas operações se aplicaram
  • summarize para 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.