8  Tabelas de dados

Quando finalizar este capítulo, deverá ser capaz de:

Objetivos de aprendizagem
  • Importar ficheiros Excel para o RStudio.
  • Compreender o conceito de dados tabulares.
  • Trablhar com data frames e, em particular, com os dados de colunas.

 

8.1 Importação de ficheiros Excel para o RStudio

Em análise de dados, frequentemente trabalhamos com tabelas de dados criadas noutros softwares. De facto, o R (e o RStudio) não são tipicamente utilizados para a criação de bases de dados.

Um dos softwares mais frequentemente utilizado para a criação de tabelas de dados é o Microsoft Office Excel. O Microsoft Office Excel permite a criação de dados tabulares e guarda os ficheiros em formato .xls ou .xlsx. O RStudio é capaz de importar estes dados para manipulação e análise.

Figure 8.1: Aspeto de ficheiro “cardiology.xlsx” aberto no Excel.

De igual modo, o RStudio também é capaz de abrir ficheiros criados no SPSS (.sav) ou ficheiros no formato comma separated values (.csv). Neste capítulo, abordaremos a importação de ficheiros em formato Excel, por ser o formato preferencialmente utilizado nas aulas. A importação de ficheiros noutros formatos pode ser feita de forma análoga, utilizando as respetivas opções no RStudio.

Ficheiros .csv

Os ficheiros .csv são ligeiramente diferentes dos ficheiros .xls ou .xlsx. Os ficheiros .csv são ficheiros de texto (podem ser criados e abertos utilizando o bloco de notas). Num ficheiro de texto, não existem tabelas e células: assim, as diferentes colunas estão geralmente separadas por vírgulas (por vezes podem estar separadas por ponto e vírgula).

Para importar um ficheiro Excel através do RStudio1:

  • 1 O ficheiro cardiology.xlsx foi disponibilizado no material da aula.

  • Figure 8.2: A opção para importar tabelas de dados está disponível no Painel de Ambiente
    1. No painel de Ambiente, clique em Import Dataset.
    2. Escolha a opção correspondente ao tipo de ficheiro que pretende importar (neste caso, From Excel…).

    Figure 8.3: Depois, pode importar o ficheiro e pré-visualizá-lo.
    1. Abrir-se-á uma nova janela. Clique no botão Browse… para encontrar o ficheiro que deseja importar no seu computador. Selecione o ficheiro que pretende importar.
    2. Uma vez selecionado o ficheiro, note que o RStudio mostra uma pré-visualização dos dados nesta janela. Este é o formato que os dados terão quando o ficheiro for importado - vale a pena olhar para a pré-visualização para garantir que não há erros.
    3. Em Name, pode escolher o nome que pretende dar ao objeto onde os dados ficarão guardados. Por omissão, aparece o nome do ficheiro, mas pode mudá-lo.
    4. No caso do nosso ficheiro, a primeira linha de dados corresponde ao nome das colunas. Por isso, mantemos selecionada a opção First Row as Names.
    5. Quando estivermos prontos, clicar sobre o botão Import.

    Figure 8.4: Foi criado um novo objeto que contém os dados presentes no ficheiro Excel.
    1. Notar que, no Painel de Ambiente, foi criado um novo objeto com o nome por nós definido: cardiology, com 428 observações e 7 variáveis (colunas). Clicando na seta atrás do nome do objeto…
    2. Permite-lhe verificar as variáveis (colunas) que constituem o objeto cardiology.

    8.2 Data frames

    O objeto cardiology, que foi criado quando o ficheiro cardiology.xlsx foi carregado no RStudio, é um tipo especial de objeto: é um data frame, um tipo de objeto com duas dimensões (tem linhas e colunas) e que, portanto, é ideal para guardar dados em formato tabular.

    Como pode verificar no Painel de Ambiente e na Figure 8.4, o objeto é constituído por 428 linhas e 7 variáveis/colunas:

    • age: coluna do tipo numérico (num), correspondente à idade dos pacientes.
    • sex: coluna do tipo textual (chr, de character string), correspondente ao sexo biológico dos pacientes.
    • height: coluna do tipo numérico (num), correspondente à altura dos pacientes em cm.
    • weight: coluna do tipo numérico (num), correspondente ao peso dos pacientes em kg.
    • QRS: coluna do tipo numérico (num), correspondente à duração do complexo QRS em milissegundos, avaliado por eletrocardiograma.2
    • HR: coluna do tipo numérico (num), correspondente à frequência cardíaca (heart rate), em batimentos por minuto.
    • LOS: coluna do tipo numérico (num), correspondente à duração do internamento (length of stay), em dias.
  • 2 O complexo QRS é um dos parâmetros avaliados em eletrocardiografia, tendo normalmente uma duração inferior a 120 ms. Algumas arritmias associam-se a prolongamento do complexo QRS.

  • Visualizar o conteúdo de um data frame

    Para visualizar o conteúdo de um data frame, pode clicar duas vezes com o rato sobre o nome do objeto no Painel de Ambiente ou utilizar a função View() (note o “V” maiúsculo):

    View(cardiology)

    Note a estrutura tabular do data frame, com 7 colunas (variáveis).

    Utilizar as variáveis (colunas) de um data frame

    Como teve a oportunidade de verificar, um data frame é um tipo de objeto onde podem estar guardadas várias variáveis (colunas). Frequentemente, teremos interesse em trabalhar com os dados armazenados nas variáveis de um data frame.

    Por exemplo, suponhamos que queremos obter os valores de altura (height). Podemos tentar:

    height

    Error: object ‘height’ not found

    Isto acontece porque não existe nenhum objeto chamado height. Existe uma variável chamada height, mas que está dentro de um outro objeto (um data frame) chamado cardiology. Mas o R não adivinha que é suposto ir procurar dentro do data frame, pelo que temos de lhe dar essa instrução específica.

    Para instruir o R a encontrar uma determinada variável dentro de um outro objeto (neste caso, uma coluna de um data frame), a sintaxe é: objeto$variável. Ou seja, utiliza-se o símbolo $ para instruir o R que procuramos uma variável que está dentro de um objeto. No caso:

    cardiology$height
      [1] 190 165 172 175 190 160 162 168 167 170 165 172 170 160 150 171 158 165
     [19] 166 160 169 153 165 153 169 170 160 164 160 175 163 160 155 176 160 172
     [37] 164 163 175 157 160 160 165 160 156 160 158 159 159 156 156 172 163 165
     [55] 160 160 168 165 160 160 158 162 155 155 160 160 150 156 155 182 161 163
     [73] 158 165 177 171 165 156 156 177 150 165 160 159 165 162 161 158 155 155
     [91] 163 165 168 185 150 157 155 160 156 155 157 170 160 175 165 153 184 162
    [109] 176 163 172 160 172 159 162 170 154 164 170 170 159 162 186 185 155 163
    [127] 165 165 157 177 155 172 168 162 162 160 170 166 150 175 168 175 155 160
    [145] 156 173 172 167 161 169 162 160 161 153 170 160 170 176 165 162 168 156
    [163] 160 160 178 168 163 168 156 160 160 155 167 162 156 175 179 175 155 170
    [181] 163 170 165 156 166 160 180 172 173 155 166 168 155 160 160 159 160 168
    [199] 162 178 176 157 176 180 174 169 160 160 160 170 165 165 178 173 160 165
    [217] 171 168 172 170 170 171 173 163 164 165 173 176 149 170 165 160 155 177
    [235] 166 165 155 157 153 160 165 175 170 160 160 164 165 170 178 170 165 160
    [253] 160 170 150 155 160 174 163 160 160 158 171 160 154 156 157 150 160 168
    [271] 175 170 175 165 165 175 160 155 175 163 158 170 178 173 160 160 160 170
    [289] 165 164 170 176 160 175 171 170 176 180 160 160 165 167 170 174 170 170
    [307] 180 161 164 170 170 166 168 156 155 165 171 188 175 165 160 165 165 160
    [325] 172 170 157 162 165 171 158 186 165 165 178 173 156 160 170 169 175 175
    [343] 170 150 160 157 170 163 170 172 178 165 160 170 181 146 165 182 154 160
    [361] 163 160 160 168 165 185 169 165 162 152 156 170 178 160 176 165 174 156
    [379] 158 160 175 165 160 155 165 156 150 160 148 160 172 160 170 160 165 167
    [397] 167 172 163 160 160 167 162 186 171 160 160 160 166 167 178 164 164 155
    [415] 175 168 176 160 160 154 166 175 157 160 190 166 155 160
    Praticar
    1. Como pode verificar, o código acima retornou uma lista com 428 valores - correspondentes aos 428 dados de alturas presentes na tabela de dados. Crie um novo objeto altura onde guarde os dados de altura dos 428 pacientes.

    8.3 Ainda o Painel de Ambiente

    Se completou o exercício anterior, poderá ter notado que o seu ambiente contém agora dois objetos:

    • um data frame cardiology, na secção Data; e
    • um vetor altura, na secção Values.

    Note que o R distingue entre objetos que contêm variáveis (que se encontram na secção Data) e os restantes objetos, como os vetores (que se encontram na secção Values).

    Apagar objetos do ambiente

    Há duas formas de apagar objetos do seu ambiente:

    • Para apagar todos os objetos, clique no item de vassoura .
    • Para apagar um objeto em particular, utilize a função rm():
    rm(altura)