• Tidak ada hasil yang ditemukan

Torgo-ProgrammingIntro.pdf

N/A
N/A
Protected

Academic year: 2023

Membagikan "Torgo-ProgrammingIntro.pdf"

Copied!
99
0
0

Teks penuh

Estas características, juntamente com as suas qualidades conhecidas, tornam-no numa ferramenta quase ideal para aprender programação num contexto de análise de dados e sistemas de apoio à decisão. Apesar de seu caráter livre, R' é uma ferramenta muito poderosa, com boas habilidades de programação e um conjunto muito amplo (e em constante crescimento) de pacotes que adicionam muito potencial à já poderosa versão. baseado em R.

Uma de suas principais características é sua natureza gratuita e disponibilidade para uma ampla gama de sistemas operacionais. Neste documento vamos nos concentrar na versão Windows, mas basicamente tudo o que é descrito aqui se aplica a outras versões também, dadas as diferenças muito pequenas entre as versões para diferentes plataformas.

Come¸ car a usar o R

Gravar a sessão só é interessante se realmente pretendemos continuar o que estávamos fazendo mais tarde. Os arquivos de estado da sessão são sempre registrados no diretório atual onde o REST está em execução.

Figura 1: O ambiente R.
Figura 1: O ambiente R.

Ajuda sobre o R

A operação de atribuição é destrutiva no sentido de que quando atribuímos um novo valor a um objeto já existente, perderemos o conteúdo que ele armazenou anteriormente. Quando queremos atribuir o resultado de uma expressão a um objeto e depois visualizar seu conteúdo (como nos exemplos acima), podemos alternativamente usar a seguinte sintaxe, o que nos poupa algum tempo.

Vectores

O tamanho de um vetor é o número de elementos que ele contém e pode ser obtido usando a função length(). Usando esta forma de acessar os elementos individuais do vetor, podemos alterar o elemento.

Opera¸ c˜ oes com Vectores

Observe que os dois primeiros elementos do vetor k, que anteriormente era um vetor vazio, ficaram com o valor NA quando adicionamos o valor 45 ao terceiro elemento.

Factores

Vamos imaginar que temos outro vetor com a faixa de idades dos indivíduos cujo sexo está armazenado em s. No segundo exemplo, os rácios são relativos aos totais da coluna, enquanto no terceiro exemplo são relativos ao número total de indivíduos (ou seja, aprendemos que o número de adultos do sexo masculino é 20% do número total de indivíduos representa). ).

Sequˆ encias

Analisaremos esta questão com mais detalhes quando estudarmos o uso e criação de funções em R na seção 3.3.1. Finalmente, oR possui um conjunto de funções para gerar sequências aleatórias de acordo com Sequências Aleatórias.

Indexa¸ c˜ ao

R também nos permite usar um vetor de inteiros como índice de um vetor de índices numéricos. Por exemplo, se quisermos preencher todas as posições do vetor com zeros, podemos fazer x[] <- 0.

Matrizes

Observe o operador especial (%*%) para simbolizar que esta é uma multiplicação de matrizes e não a multiplicação usual. Como você sabe, a multiplicação de matrizes tem regras especiais sobre, por exemplo, a dimensão das matrizes envolvidas, portanto não pode ser usada com nenhuma matriz.

Arrays

Finalmente, a mesma função pode ser usada para resolver sistemas de equações lineares.

Listas

Data Frames

O efeito da função attachment() é o mesmo que se você criasse objetos com nomes de colunas que contêm seus dados (por exemplo, usando a ação “> notas <- notas.inform$notas”). Como veremos nas seções posteriores deste texto de fundo, na maioria dos casos não escreveremos os dados que iremos armazenar em um dataframe "manualmente" com a função data.frame(), como fizemos antes.

S´ eries Temporais

S´ eries Regulares

Isto faz com que R interprete esta série como uma série de valores trimestrais, o que por sua vez determina a escolha de uma forma adequada de representar esta série. Se o objeto em questão for uma série multivariada, a função plot() produz gráficos separados para cada série, conforme mostrado na Figura 4. Um efeito semelhante, mas onde o resultado é uma série multivariada, pode ser alcançado da seguinte forma.

Figura 3: Gr´ afico de uma s´ erie temporal univariada.
Figura 3: Gr´ afico de uma s´ erie temporal univariada.

S´ eries Irregulares

Observe como a função na.omit() é usada para descartar o resultado de cbind() também. O segundo argumento da função zoo(), os carimbos de data e hora dos dados, podem ser de qualquer tipo (!), desde que faça sentido ordenar seus valores (ou seja, desde que você possa aplicar a função dogorder() para valores). A função seq(), que estudamos anteriormente, quando aplicada a objetos do tipo “Data” permite a geração de sequências de datas.

Figura 6: Gr´ aficos de objectos “zoo”.
Figura 6: Gr´ aficos de objectos “zoo”.

Estruturas de Controlo da Linguagem R

Instru¸ c˜ oes Condicionais

O valor obtido é o resultado da utilização da função median() no vetor vs, pois o valor de op é 2, portanto o segundo argumento é selecionado após o teste contido no primeiro argumento do switch. Caso não haja nomes, como no exemplo acima, o componente da lista é selecionado utilizando o número especificado no primeiro argumento da chave. Se o primeiro argumento for um número, o resultado será o componente com esse número de série; se o primeiro argumento for um nome, o componente com esse nome será extraído.

Instru¸ c˜ oes Iterativas

Caso isso não aconteça, a instrução de interrupção não é executada e o ciclo se repete, significando que uma nova instrução é solicitada. O exemplo a seguir ilustra o uso de uma segunda instrução que pode ser usada para controle. Ao encontrar esta instrução novamente, ele imediatamente salta para o início do loop que está executando, de modo que não executa nenhuma instrução que veio depois da próxima no loop.

Evitando ciclos

A função tapply() permite realizar operações semelhantes, mas em subconjuntos da função tapply. Esta função pode ser vista como temporária, pois existe apenas durante a execução de sapply(). Por fim, digamos que a função sapply() é uma versão amigável da função lapply(), cuja ajuda pode ser consultada para maiores informações.

Fun¸ c˜ oes

  • Criar fun¸ c˜ oes
  • Ambientes e “scope” de vari´ aveis
  • Argumentos de fun¸ c˜ oes
  • Lazy evaluation
  • Algumas fun¸ c˜ oes ´ uteis

Portanto, no exemplo de chamada de função mostrado acima, o valor de x usado no comando é o valor 21 e não o valor 2. Use a ajuda da função para ver se você entendeu o que foi calculado com este valor de parâmetro. Este parâmetro especial é na verdade uma lista que pode adicionar qualquer número de parâmetros usados ​​na chamada de função.

Objectos, Classes e M´ etodos

1] summary.aov summary.aovlist summary.link [4] summary.data.frame summary. date summary.default [7] summary.ecdf* summary.factors summary.glm. 13] summary.manova summary.matrix summary.mlm [16] summary.nls* summary.packageStatus* summary.POSIXct [19] summary.POSIXlt summary.ppr* summary.prcomp*. Fun methods() more a list of methods (isto ´e fun¸c˜oes especializados em classes specifices) that exist for a fun¸c˜ao gen´ericasummary().

Depura¸ c˜ ao de Programas em R

  • De ficheiros de texto
  • Da Internet
  • Do Excel
  • De bases de dados

Essas funções são independentes do sistema de gerenciamento de banco de dados (SGBD) que utilizamos, e seu objetivo é justamente tornar o código do Rin dependente (ou pelo menos tanto quanto possível) desse software. Na primeira vez que pretendemos nos comunicar com um banco de dados em MySQL utilizando o protocolo ODBC, alguns passos adicionais são necessários. Neste protocolo, cada conexão com um banco de dados possui um nome (o nome da fonte de dados ou DSN na linguagem ODBC).

Figura 7: A arquitectura de comunica¸ c˜ ao entre o R e diferentes SGBD’s.
Figura 7: A arquitectura de comunica¸ c˜ ao entre o R e diferentes SGBD’s.

Sumariza¸ c˜ ao de dados

Finalmente, os esquemas de indexação que estudamos na Seção 2.6 podem ser usados ​​para obter subconjuntos de dados aos quais podemos aplicar uma função de resumo, se desejarmos, como ilustram os exemplos a seguir. Uma maneira simples de conseguir tais efeitos é criando suas próprias funções que produzam os resultados pretendidos. Na seção 3.3.1 veremos detalhadamente como criar funções, mas aqui deixamos uma ilustração de como utilizar essas funções criadas para conseguir os resumos que desejamos.

F´ ormulas

Visualiza¸ c˜ ao de dados

Gr´ aficos Univariados

A Figura 10) mostra outra variação de um histograma obtido pela manipulação de alguns dos parâmetros da função ohist(). Boxplots são outros gráficos univariados além dos Boxplots. A função barplot() pode ser usada para obter gráficos de barras, conforme mostrado em Gráficos de barras.

Gr´ aficos de 3 Vari´ aveis

O resultado das instruções apresentadas acima, que pode ser visto na figura 13, é uma representação tridimensional da função 10×sin(. Uma delas consiste na utilização de curvas de nível que podem transmitir a ideia do valor da terceira dimensão. O mesmo pode ser feito com a função image() da seguinte forma, Gráficos com níveis de cor.

Figura 13: Um gr´ afico tri-dimensional com a fun¸ c˜ ao “persp”.
Figura 13: Um gr´ afico tri-dimensional com a fun¸ c˜ ao “persp”.

Gr´ aficos Multivariados

Aproveitando a flexibilidade da programação em R, é possível modificar bastante estes tipos de funções, por exemplo deixando ou mesmo substituindo histogramas de cada uma das variáveis ​​na diagonal da matriz de gráficos da Figura 19, ou mesmo na parte superior da matriz (que aproveita o fato de ser simétrica), com outros gráficos. Outro tipo de gráfico que por vezes é muito interessante, pois permite comparar observações descritas por diversas variáveis ​​contínuas, são os gráficos do tipo de estrelas. Por fim, vejamos um tipo de gráfico muito útil para variáveis ​​nominais que é o Gráficosmosaico.

Figura 19: Uma matriz de gr´ aficos bivariados.
Figura 19: Uma matriz de gr´ aficos bivariados.

Gr´ aficos Condicionados

Observe que esse tipo de gráfico é difícil de visualizar quando o número de observações é grande, e nessas situações podemos focar em subconjuntos de dados mais interessantes. Eles utilizam as áreas relativas de diversos retângulos para representar as diferenças entre as proporções dos casos que possuem valores particulares das variáveis ​​nominais em estudo.

Figura 22: Um gr´ afico “mosaic”.
Figura 22: Um gr´ afico “mosaic”.

Interac¸ c˜ ao com Gr´ aficos

No exemplo acima, usamos a função locator() em vez de especificar as coordenadas XY onde queremos colocar a legenda. Quando esta função é encontrada, ela permanece em modo interativo, ou seja, aguarda o usuário clicar em qualquer lugar da janela gráfica. Outra função interativa é a função identific(), que serve para identificar pontos específicos de um gráfico e, por exemplo, escrever os respectivos valores das variáveis ​​ao lado deles.

Também relacionada ao desenho de linhas em um gráfico existente está a função abline(). A função mtext(), por outro lado, pode ser usada para adicionar qualquer texto às margens de um gráfico. Esta função permite a configuração "permanente" de vários parâmetros gráficos para o dispositivo atual.

Figura 24: O uso da fun¸ c˜ ao “points”.
Figura 24: O uso da fun¸ c˜ ao “points”.

Gambar

Figura 3: Gr´ afico de uma s´ erie temporal univariada.
Figura 4: Gr´ afico de uma s´ erie temporal multivariada.
Figura 6: Gr´ aficos de objectos “zoo”.
Figura 7: A arquitectura de comunica¸ c˜ ao entre o R e diferentes SGBD’s.
+7

Referensi

Dokumen terkait

RELATED PARTIES TRANSACTIONS continued Transaksi dan Saldo dengan Pihak Berelasi lanjutan Transactions and Balances with Related Parties continued Rincian saldo dengan pihak-pihak