Desafio03

Author

Gustavo Zanareli Andrade

Unicamper nasceu pra brilhar, então bora lapidar ainda mais esse brilho com um novo desafio (que poderá ser entregue até o dia 02/09 às 9:59).

Traga um exemplo de um arquivo parquet e outro JSON

Carregue cada um deles no R de forma que o arquivo carregado seja um data frame (ou um tibble).

No dia 02/09, chamarei aleatoriamente algum dos que enviaram o desafio para que expliquem em sala de aula o que fizeram (e como fizeram)

Carregar os dados, o qmd e arquivo explicando os dados e como lê-los, em formato PDF.

#Por algum motivo não consegui renderizar meu código com as seguintes linhas:

#install.packages("arrow")
#install.packages("jsonlite")

#Por esse motivo, apenas rodei-as no console e deixei comentadas aqui.

library(arrow)

Attaching package: 'arrow'
The following object is masked from 'package:utils':

    timestamp
library(jsonlite)
library(dplyr)
Warning: package 'dplyr' was built under R version 4.2.3

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
dados_parquet <- read_parquet("data.parquet") %>% as_tibble()

dados_json <- fromJSON("intents.JSON") %>% as_tibble()

glimpse(dados_parquet)
Rows: 9,240
Columns: 26
$ patch_ECG           <list<double>> <119.3125, 119.3125, 119.3750, 119.3750, …
$ patch_ACC_lat       <list<double>> <-4.148438e+00, -4.085938e+00, -3.886719e…
$ patch_ACC_hf        <list<double>> <-291.50, -291.50, -291.25, -291.25, -291…
$ patch_ACC_dv        <list<double>> <953.5, 954.0, 955.0, 956.0, 957.0, 957.5…
$ patch_Hum           <list<double>> <45.31250, 45.31250, 45.31250, 45.31250, …
$ patch_Pre           <list<double>> <973.5, 973.5, 973.5, 973.5, 973.5, 973.5…
$ patch_Temp          <list<double>> <33.40625, 33.40625, 33.40625, 33.40625, …
$ ECG_lead_I          <list<double>> <1.699829e-02, 1.939392e-02, 2.180481e-02…
$ ECG_lead_II         <list<double>> <4.099121e-01, 4.138184e-01, 4.177246e-01…
$ ECG_lead_III        <list<double>> <3.999023e-01, 3.999023e-01, 3.999023e-01…
$ aVR                 <list<double>> <-2.170410e-01, -2.193604e-01, -2.218018e…
$ aVL                 <list<double>> <-1.879883e-01, -1.870117e-01, -1.860352e…
$ aVF                 <list<double>> <0.4030761719, 0.4055175781, 0.4077148438…
$ ECG_lead_V1         <list<double>> <-1.220093e-01, -1.243896e-01, -1.268311e…
$ RHC_pressure        <list<double>> <-63.18750, -63.18750, -63.18750, -63.187…
$ record_name         <chr> "TRM243-RHC1", "TRM243-RHC1", "TRM243-RHC1", "TRM2…
$ ECG_lead_V2         <list<double>> <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <…
$ ECG_lead_V3         <list<double>> <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <…
$ ECG_lead_V4         <list<double>> <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <…
$ ECG_lead_V6         <list<double>> <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <…
$ PLETH               <list<double>> <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <…
$ RESP                <list<double>> <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <…
$ FA                  <list<double>> <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <…
$ ECG_lead_V5         <list<double>> <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <…
$ ART                 <list<double>> <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <…
$ `__index_level_0__` <int> 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, …
glimpse(dados_json)
Rows: 38
Columns: 1
$ intents <df[,4]> <data.frame[26 x 4]>

Inicialmente tentei usar o pacote haven, mas não consegui encontrar uma solução eficiente. Daí pesquisando na internet sobre pacotes para leitura de dados do formato pedido (parquet e JSON) encontrei esses pacotes e as funções que usei acima (read_parquet; fromJSON).

Uma vez encontrados esses pacotes compatíveis, baixei-os usando a função install.packages() e depois, usando library(), carreguei os respectivos pacotes(“arrow” e “jsonlite”). Além do pacote “dplyr” para usar pipe.

Os bancos de dados foram baixados da plataforma kaggle, filtrados pelo seu formato, facilitando a pesquisa e movidos até a pasta respectiva, de acordo com o diretório utilizado no código.

Usando as respectivas funções para ler os bancos de dados e armazenando-os em variáveis de formato tibble, utilizei a função glimpse() para mostrar as primeiras entradas desses bancos de dados.