em , ,

R na Prática – Parte 11: Elementos de Programação em Linguagem R

Tipos de objetos: Data Frame e List

Na linguagem R, o data frame pode ser idealizado como uma matriz com n linhas (observações) por m colunas (variáveis) com a diferença que as colunas podem conter não apenas valores numéricos, mas também caracteres, números complexos e variáveis lógicas (Tabela 8).

Tabela 8: Definição do objeto data.frame().

Trata-se do tipo de objeto de grande uso na linguagem R. Assim, torna-se importante destacar como se pode gerar um “data frame” a partir de vetores de comprimentos iguais. No exemplo a seguir, tem-se três vetores x, y e z criados com tamanhos iguais a 10, sendo x uma sequência de valores de 1 a 10, y uma sequência variando de 1 até 5.5, mas divididos por π e z o vetor que é o produto de x por y.

script_1

O script anterior mostrou como se pode gerar um data frame a partir de três vetores numéricos de comprimentos iguais. Um exemplo mais completo pode ser mostrado a partir da leitura de um arquivo de dados denominado Jura (Goovaerts, 1997, p. 4-6).

Trata-se de um caso ideal para demonstrar um data frame, pois este conjunto é composto por 359 pontos de dados, nos quais foram medidas as concentrações de sete metais pesados (cádmio, cobalto, cromo, cobre, níquel, chumbo e zinco), bem como duas variáveis categóricas: uso do solo e tipo de rocha.

Esses dados têm sido intensivamente utilizados por diversos trabalhos acadêmicos e, nesse sentido, serão empregados neste livro para ilustrar os procedimentos numéricos expostos.

 Agora, pode-se fazer a leitura do arquivo jura_validation.csv, conforme os comandos seguintes. O resultado da execução mostra que a estrutura lida do arquivo já é reconhecida como um data frame.

Script_2

Observe-se que cada uma das colunas do data frame pode ser acessada por meio do nome da variável: dados$Xloc, dados$Yloc, dados$Landuse, dados$Rock, dados$Cd, dados$Co, dados$Cr, dados$Cu, dados$Ni, dados$Pb e dados$Zn.

Pode-se verificar que as variáveis no data frame são identificadas pelo nome do objeto (dados), seguido do símbolo $ e do nome da coluna, como lido no arquivo CSV.

Antes de prosseguir, seria interessante introduzir a função table(), de acordo com a descrição na Tabela 9.

Tabela 9: Descrição da função table().

Aplicando-se a função table() para as variáveis dados$Rock e dados$Landuse, tem-se os resultados apresentados a seguir.

Script_3

 A função list() permite combinar vetores de diferentes tipos em um único objeto (Tabela 10)

Tabela 10: Definição do objeto list().

O código a seguir tem um exemplo de uso da função list() que combina três vetores: “num”, “nomes” e “logico”.

Referência bibliográfica

Goovaerts, P. 1997. Geostatistics for natural resources evaluation. New York, Oxford University Press. 483p.

Próximo artigo sobre Linguagem R

Em continuidade, o próximo artigo irá tratar dos operadores usados na linguagem R. Como nas demais linguagens de programação, tem-se os operadores aritméticos, relacionais e lógicos.

Para ter acesso ao artigo anterior, acesso o nosso blog.

Jorge Kazuo Yamamoto

Escrito por Jorge Kazuo Yamamoto

Prof. Dr. Jorge Kazuo Yamamoto, fundador da Geokrigagem, é geólogo, foi pesquisador do IPT e docente do Instituto de Geociências da USP, onde se aposentou como Professor Titular do Departamento de Geologia Sedimentar e Ambiental. Atualmente, atua como Professor Sênior do Departamento de Engenharia de Minas e de Petróleo – Escola Politécnica – USP. É responsável pela disciplina “Métodos geoestatísticos” na Pós-Graduação do IPT – Investigação do subsolo: Geotecnia e Meio Ambiente. Dedica-se ao ensino de geoestatística, com ênfase no desenvolvimento de algoritmos e pesquisa de novas aplicações, tais como: variância de interpolação, cálculo da variância global de depósitos minerais e correção do efeito de suavização da krigagem. Ultimamente, seu interesse está voltado para o ensino e divulgação da linguagem R.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

R na Prática – Parte 10 – Elementos de Programação em Linguagem R

R na Prática – parte 12 – Elementos de Programação em Linguagem R