SlideShare uma empresa Scribd logo
1 de 7
Baixar para ler offline
1) Como trabalha o Programa
R é apenas um kernel, um núcleo com funções básicas e algumas mais avançadas.
O programa é totalmente aberto, permitindo ao usuário: 1) alterar seus códigos, 2) criar
seus próprios códigos.
Por ser um software livre contribuído, os usuários disponibilizam seus códigos nos site
do programa: http://www.r-project.org/
A maior parte dos modelos, testes de hipóteses e cálculos diversos de nosso interesse
estão algum pacote específico.
Sua lógica segue a de criação de linhas de comando (programação) e não de uso do
mouse.
Definição: Um pacote é um conjunto de funções que servem a um problema comum.
Assim, por exemplo, temos o pacote “geoR”, criado pelo Professor Paulo Justiniano,
que é um conjunto de funções com o objetivo de analisar dados espaciais à luz da teoria
Geoestatística.
Temos também as chamadas “tasks views”.
Definição: Uma task view é uma coletânea de pacotes de uma determinada área.
Desta forma, temos, por exemplo, a task view econometrics que compreende a maior
parte dos pacotes que seriam utilizados por um econometrista.
O programa, diferentemente do Stata ou SPSS, usa objetos (o e-views é um exemplo de
programa que usa objetos).
Definição: Um objeto é argumento de classe reconhecida pelo programa. Podemos
estabelecer quase tudo como um objeto no R o que lhe confere uma grande vantagem
em relação aos demais programas. Para criar um objeto usamos a seguinte estrutura:
meu_objeto = minha_função ou
meu_objeto <- minha_função
Na maioria dos programas os arquivos contêm apenas os dados. Aqui é possível salvar
tudo em um arquivo: dados, modelos estimados, funções, testes de hipóteses e, até
mesmo, texto no formato string (no e-views podemos salvar uma gama de objetos mas
extensão de objetos .
Classes de objetos:
• Vetores
• Matrizes
• Arrays: objeto que combina outros objetos de dimensões distintas como, por
exemplo, dois vetores. O Array é, portanto, uma matriz. Um tipo específico de
matriz.
• Listas: Uma coletânea de Objetos (pense na lista como um armário onde você
guarda diferentes tipos de roupas cada uma em um cabide).
• Data Frames: É uma lista de variáveis de mesmo tamanho e com nomes para
cada coluna. Tipo mais comum de armazenamento de dados.
Podemos, ao invés de digitar os comandos diretamente no console, usar os Scripts.
Definição: Scripts são arquivos de texto (podem ser abertos em editor de texto padrão,
como o word pad) com extensão “.r”.
2) Uso da ajuda
O programa conta com uma ajuda bastante útil.
Para chamar a ajuda basta coloca o caractere “?” na frente daquilo que se quer obter
ajuda.
Exemplo:
? vector
A estrutura acima me retorna a ajuda sobre vetores. Essa sintaxe só trará resultado se
houver uma função com a sintaxe exatamente igual à sua pergunta.
Desta forma, se eu digitar:
?coefficient
Não haverá retorno pois não existe em minha base sintaxe igual a “coeficient”.
Mas se meu objetivo é fazer um busca genérica digito:
??coefficient
Essa sintaxe me retorna todas as funções que têm, em sua ajuda, o termo digitado.
Além disso, podemos buscar ajudar nos fóruns. Eles são muito úteis e realmente obtêm-
se resposta.
Um fórum muito interessante é: http://www.nabble.com/R-f13819.html
3) Manipulações simples
3.1) O caractere precedente # denota texto:
# blablabla
3.2) Operações com escalares (funções de calculadora)
y1 = 2
y2 = 3 + 2
y3 = 3/5
y4 = 3*5
y5 = 10^3.5
y6 = log(100) # log é na base natural e, ou seja, log aqui é na verdade ln
Se eu quiser log em bases diferentes é só proceder da seguinte forma:
meu_objeto = log(logaritimando, base)
y6.1 = log(9,3) # log de nove na base três. Sabemos que isso é dois.
Alguns logs já possuem sintaxe própria:
y6.2 = log2(9) # log na base 2
y6.3 = log10(9) # log na base 10
Temos ainda:
meu_objeto = log1p(x).
Isso é equivalente à ln(1+x). Observe que x tem de obedecer à restrição que |x|< 1.
y6.4 = log1p(-0.5)
y7=exp(1) # me retorna 2,718282...
y8 = exp(2) # o equivalente a e² = 7.389056
y9 = pi # 3,1416...
Posso estabelecer objetos dependentes de outros objetos usando os operadores acima:
z1 = y1 + y2
z2 = (y1/y2)*y4
z3 = (log(y4)^y1)/y6
Podemos checar quantos objetos estão abertos:
ls()
Podemos remover alguns objetos usando o comando
rm(z1,z2,z3)
ou podemos remover todos os objetos usando:
rm(list=ls())
3.3) Vetores
Podemos criar vetores através de três tipos:
1) por meio de sequências numéricas
2) por meio de combinações de números (imputação direta)
3) por meio de combinações de objetos (imputação direta)
3.3.1) Vejamos o tipo 1
Quando crio um objeto com a sintaxe igual a
y = seq(1,8) ou y = seq(1:8)
tenho nas mão a sequência:
1 2 3 4 5 6 7 8
A pergunta baixo deve me responder TRUE
is.vector(y)
Mas se fizermos:
y = seq(1:8,4) # pegamos os quatro primeiros números da sequência
y = seq(1,8,length.out=11) # estou criando um vetor com 11 elementos que vai de 1 a 8
(1.0, 1.7, 2.4, 3.1, 3.8, 4.5, 5.2, 5.9, 6.6, 7.3, 8.0)
y = seq(1,8,by=3) # uma sequência que se inicia em 1, não ultrapassa 8 e altera-se a
cada 3 unidades.
(1, 4, 7)
Obviamente, a estrutura abaixo retornará um erro pois não é possível obter um intervalo
contido em em [1,8] com onze elementos que variam de três em três:
y = seq(1,8,by=3,length.out=11)
Por fim, se fizermos algo do tipo
y=seq(1,1,length.out=10)
teremos um vetor de constantes (neste caso 1) de dimensão 10
3.3.2) Agora o tipo 2: combinações de números (imputação direta)
Se criarmos objetos do tipo:
meu_objeto = c(valor_1, valor_2, ...., valor_n), criamos um vetor de dimensão N.
v1 = c(1,2,3,4,5) # vetor de um a cinco
v2 = c(10, 2:8) # vetor cujo primeiro elemento é 10 e os demais uma sequência de 2 a 8
(10, 2, 3, 4, 5, 6, 7, 8)
Essa estrutura me permite combinar os tipos de sequências vistas anteriormente:
v3 = c(seq(1,8,by=3), seq(1,1,length.out=10))
Nesse caso temos um vetor de dimensão 13 com os três primeiros elementos iguais a
1,4 e 7 e o resto igual a um.
Posso ainda criar vetores de letras:
letras = letters[1:10] # me retorna as 10 primeiras letras do alfalbeto.
e posso combinar isso aí:
v4 = c(letters[1:10], letters[1:10])
("a", "b", "c", "d", "e", "f", "g", "h", "i", "j","a", "b", "c", "d", "e", "f", "g", "h", "i", "j")
3.3.3) Vetores por meio de combinações de objetos
Se tivermos dois objetos vetoriais podemos criar um vetor a partir deles:
v5 = c(v4, v2)
3.4) Álgebra de Vetores no R
Aqui vamos ver as operações básicas de soma, subtração, divisão e multiplicação de um
vetor por um outro vetor e por um escalar ou operações diretas no vetor (log,
exponenciamento)
3.4.1) Álgebra de Vetores com escalares
Se fizermos qualquer operação de um vetor com um escalar teremos essa operação
aplicada a todos os elementos do vetor:
k1 = v1 + 2, teremos:
















=+
















7
6
5
4
3
2
5
4
3
2
1
k2 = v1*2, teremos:
















=
















10
8
6
4
2
2*
5
4
3
2
1
3.4.2) Operações diretas nos Vetores
Podemos tirar log e raiz dos vetores (desde que não haja valores negativos no vetor).
Podemos exponenciá-los também.
k3 = log(k2)
k4 = k2^0.5
3.4.2) Operações de vetores com Vetores com Vetores
3.4.2.1) Soma (subtração)
Se tivermos dois vetores ),( 21 vv
rr
e sua soma, 21 vv
rr
+ , o R realizará esta operação
independentemente da extensão dos mesmos.
Caso os vetores tenham o mesmo length o R somará os elementos diretamente, isso é:










+
+
+
=










+










2313
2212
2111
23
22
21
13
12
11
vv
vv
vv
v
v
v
v
v
v
Caso os vetores tenham lengths diferentes, o R somará os elementos de maneira
ordenada porém fazendo um loop até que se esgote a operação para o maior vetor, isto
é, até que todos os elementos do maior vetor tenham sido operacionalizados.
Se tivermos um vetor de comprimento 7 e outro de comprimento 3 a soma ficará:






















+
+
+
+
+
+
+
=






















+










2711
2613
2512
2411
2313
2212
2111
27
26
25
24
23
22
21
13
12
11
vv
vv
vv
vv
vv
vv
vv
v
v
v
v
v
v
v
v
v
v
3.4.2.2) Produto (divisão, exponenciação)
Para o produto (divisão, exponenciação) a lógica é a mesma! Ou seja, se tivermos
trabalhando com vetores de mesmo comprimento teremos:










×
×
×
=










×










2313
2212
2111
23
22
21
13
12
11
vv
vv
vv
v
v
v
v
v
v
Se o comprimento for diferente teremos:






















×
×
×
×
×
×
×
=






















×










2711
2613
2512
2411
2313
2212
2111
27
26
25
24
23
22
21
13
12
11
vv
vv
vv
vv
vv
vv
vv
v
v
v
v
v
v
v
v
v
v

Mais conteúdo relacionado

Mais procurados

Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Luciano Ramalho
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em PythonLuciano Ramalho
 
Objetos Pythonicos - compacto
Objetos Pythonicos - compactoObjetos Pythonicos - compacto
Objetos Pythonicos - compactoLuciano Ramalho
 
Python: a primeira mordida
Python: a primeira mordidaPython: a primeira mordida
Python: a primeira mordidaLuciano Ramalho
 
Iteraveis e geradores em Python
Iteraveis e geradores em PythonIteraveis e geradores em Python
Iteraveis e geradores em PythonLuciano Ramalho
 
Apresentação recursividade rev2
Apresentação recursividade rev2Apresentação recursividade rev2
Apresentação recursividade rev2Rogerio Oliveira
 
Tutorial aed iii 008 - algoritmo de ordenação heapsort
Tutorial aed iii   008 - algoritmo de ordenação heapsortTutorial aed iii   008 - algoritmo de ordenação heapsort
Tutorial aed iii 008 - algoritmo de ordenação heapsortFlávio Freitas
 
Comparação Experimental de Algoritmos de Ordenação
Comparação Experimental de Algoritmos de OrdenaçãoComparação Experimental de Algoritmos de Ordenação
Comparação Experimental de Algoritmos de OrdenaçãoLenon Fachiano
 
Análise de desempenho de algoritmos de ordenação
Análise de desempenho de algoritmos de ordenaçãoAnálise de desempenho de algoritmos de ordenação
Análise de desempenho de algoritmos de ordenaçãoGustavo Carvalho
 
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Luciano Ramalho
 
Curso java 04 - ap is e bibliotecas
Curso java   04 - ap is e bibliotecasCurso java   04 - ap is e bibliotecas
Curso java 04 - ap is e bibliotecasMaurício Linhares
 
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com JavaExercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com JavaLoiane Groner
 
Curso java 06 - mais construtores, interfaces e polimorfismo
Curso java   06 - mais construtores, interfaces e polimorfismoCurso java   06 - mais construtores, interfaces e polimorfismo
Curso java 06 - mais construtores, interfaces e polimorfismoMaurício Linhares
 

Mais procurados (17)

Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em Python
 
Java 06 Strings Arrays
Java 06 Strings ArraysJava 06 Strings Arrays
Java 06 Strings Arrays
 
Objetos Pythonicos - compacto
Objetos Pythonicos - compactoObjetos Pythonicos - compacto
Objetos Pythonicos - compacto
 
Python: a primeira mordida
Python: a primeira mordidaPython: a primeira mordida
Python: a primeira mordida
 
Iteraveis e geradores em Python
Iteraveis e geradores em PythonIteraveis e geradores em Python
Iteraveis e geradores em Python
 
Apresentação recursividade rev2
Apresentação recursividade rev2Apresentação recursividade rev2
Apresentação recursividade rev2
 
Recursividade
RecursividadeRecursividade
Recursividade
 
Tutorial aed iii 008 - algoritmo de ordenação heapsort
Tutorial aed iii   008 - algoritmo de ordenação heapsortTutorial aed iii   008 - algoritmo de ordenação heapsort
Tutorial aed iii 008 - algoritmo de ordenação heapsort
 
Comparação Experimental de Algoritmos de Ordenação
Comparação Experimental de Algoritmos de OrdenaçãoComparação Experimental de Algoritmos de Ordenação
Comparação Experimental de Algoritmos de Ordenação
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenação
 
Análise de desempenho de algoritmos de ordenação
Análise de desempenho de algoritmos de ordenaçãoAnálise de desempenho de algoritmos de ordenação
Análise de desempenho de algoritmos de ordenação
 
Aprendendo ruby
Aprendendo rubyAprendendo ruby
Aprendendo ruby
 
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)
 
Curso java 04 - ap is e bibliotecas
Curso java   04 - ap is e bibliotecasCurso java   04 - ap is e bibliotecas
Curso java 04 - ap is e bibliotecas
 
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com JavaExercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
 
Curso java 06 - mais construtores, interfaces e polimorfismo
Curso java   06 - mais construtores, interfaces e polimorfismoCurso java   06 - mais construtores, interfaces e polimorfismo
Curso java 06 - mais construtores, interfaces e polimorfismo
 

Semelhante a Introdução ao programa R: estrutura, objetos e manipulação de dados

SciLab -Tutorial
SciLab -TutorialSciLab -Tutorial
SciLab -Tutorialblogmaxima
 
Matrizes e Vetores para programação
Matrizes e Vetores para programaçãoMatrizes e Vetores para programação
Matrizes e Vetores para programaçãoKamila Joyce
 
mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaomod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaodiogoa21
 
Cartilha de Octave para Matematica Computacional.pdf
Cartilha de Octave para Matematica Computacional.pdfCartilha de Octave para Matematica Computacional.pdf
Cartilha de Octave para Matematica Computacional.pdfEdkallenn Lima
 
Java basico modulo_03
Java basico modulo_03Java basico modulo_03
Java basico modulo_03wammendes
 
Matlab – curso básico (1)
Matlab – curso básico (1)Matlab – curso básico (1)
Matlab – curso básico (1)Felipe Meganha
 
Aula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.pptAula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.pptssuserd654cb1
 
Aula_07_Complexidade_de_Algoritmos (1).ppt
Aula_07_Complexidade_de_Algoritmos (1).pptAula_07_Complexidade_de_Algoritmos (1).ppt
Aula_07_Complexidade_de_Algoritmos (1).pptssuserd654cb1
 
Algoritmo de ordenação heapsort.
Algoritmo de ordenação heapsort.Algoritmo de ordenação heapsort.
Algoritmo de ordenação heapsort.Thaci Santos
 
Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7PeslPinguim
 
Apostila ph pwamp_parte5
Apostila ph pwamp_parte5Apostila ph pwamp_parte5
Apostila ph pwamp_parte5Ilton Barbosa
 

Semelhante a Introdução ao programa R: estrutura, objetos e manipulação de dados (20)

Sbc scipy
Sbc scipySbc scipy
Sbc scipy
 
Sbc scipy
Sbc scipySbc scipy
Sbc scipy
 
SciLab -Tutorial
SciLab -TutorialSciLab -Tutorial
SciLab -Tutorial
 
Matrizes e Vetores para programação
Matrizes e Vetores para programaçãoMatrizes e Vetores para programação
Matrizes e Vetores para programação
 
Pesquisa ppi 2
Pesquisa ppi 2Pesquisa ppi 2
Pesquisa ppi 2
 
Cap09
Cap09Cap09
Cap09
 
Cap09
Cap09Cap09
Cap09
 
Cap09
Cap09Cap09
Cap09
 
mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaomod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacao
 
Linguagem R
Linguagem RLinguagem R
Linguagem R
 
Cartilha de Octave para Matematica Computacional.pdf
Cartilha de Octave para Matematica Computacional.pdfCartilha de Octave para Matematica Computacional.pdf
Cartilha de Octave para Matematica Computacional.pdf
 
Programação aula002
Programação aula002Programação aula002
Programação aula002
 
Java basico modulo_03
Java basico modulo_03Java basico modulo_03
Java basico modulo_03
 
Matlab – curso básico (1)
Matlab – curso básico (1)Matlab – curso básico (1)
Matlab – curso básico (1)
 
Aula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.pptAula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.ppt
 
Aula_07_Complexidade_de_Algoritmos (1).ppt
Aula_07_Complexidade_de_Algoritmos (1).pptAula_07_Complexidade_de_Algoritmos (1).ppt
Aula_07_Complexidade_de_Algoritmos (1).ppt
 
Algoritmo de ordenação heapsort.
Algoritmo de ordenação heapsort.Algoritmo de ordenação heapsort.
Algoritmo de ordenação heapsort.
 
Algoritmo0
Algoritmo0Algoritmo0
Algoritmo0
 
Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7
 
Apostila ph pwamp_parte5
Apostila ph pwamp_parte5Apostila ph pwamp_parte5
Apostila ph pwamp_parte5
 

Último

Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxTainTorres4
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreElianeElika
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdflucassilva721057
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfMárcio Azevedo
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresAnaCarinaKucharski1
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESEduardaReis50
 

Último (20)

Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdf
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdf
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
 

Introdução ao programa R: estrutura, objetos e manipulação de dados

  • 1. 1) Como trabalha o Programa R é apenas um kernel, um núcleo com funções básicas e algumas mais avançadas. O programa é totalmente aberto, permitindo ao usuário: 1) alterar seus códigos, 2) criar seus próprios códigos. Por ser um software livre contribuído, os usuários disponibilizam seus códigos nos site do programa: http://www.r-project.org/ A maior parte dos modelos, testes de hipóteses e cálculos diversos de nosso interesse estão algum pacote específico. Sua lógica segue a de criação de linhas de comando (programação) e não de uso do mouse. Definição: Um pacote é um conjunto de funções que servem a um problema comum. Assim, por exemplo, temos o pacote “geoR”, criado pelo Professor Paulo Justiniano, que é um conjunto de funções com o objetivo de analisar dados espaciais à luz da teoria Geoestatística. Temos também as chamadas “tasks views”. Definição: Uma task view é uma coletânea de pacotes de uma determinada área. Desta forma, temos, por exemplo, a task view econometrics que compreende a maior parte dos pacotes que seriam utilizados por um econometrista. O programa, diferentemente do Stata ou SPSS, usa objetos (o e-views é um exemplo de programa que usa objetos). Definição: Um objeto é argumento de classe reconhecida pelo programa. Podemos estabelecer quase tudo como um objeto no R o que lhe confere uma grande vantagem em relação aos demais programas. Para criar um objeto usamos a seguinte estrutura: meu_objeto = minha_função ou meu_objeto <- minha_função Na maioria dos programas os arquivos contêm apenas os dados. Aqui é possível salvar tudo em um arquivo: dados, modelos estimados, funções, testes de hipóteses e, até mesmo, texto no formato string (no e-views podemos salvar uma gama de objetos mas extensão de objetos . Classes de objetos: • Vetores
  • 2. • Matrizes • Arrays: objeto que combina outros objetos de dimensões distintas como, por exemplo, dois vetores. O Array é, portanto, uma matriz. Um tipo específico de matriz. • Listas: Uma coletânea de Objetos (pense na lista como um armário onde você guarda diferentes tipos de roupas cada uma em um cabide). • Data Frames: É uma lista de variáveis de mesmo tamanho e com nomes para cada coluna. Tipo mais comum de armazenamento de dados. Podemos, ao invés de digitar os comandos diretamente no console, usar os Scripts. Definição: Scripts são arquivos de texto (podem ser abertos em editor de texto padrão, como o word pad) com extensão “.r”. 2) Uso da ajuda O programa conta com uma ajuda bastante útil. Para chamar a ajuda basta coloca o caractere “?” na frente daquilo que se quer obter ajuda. Exemplo: ? vector A estrutura acima me retorna a ajuda sobre vetores. Essa sintaxe só trará resultado se houver uma função com a sintaxe exatamente igual à sua pergunta. Desta forma, se eu digitar: ?coefficient Não haverá retorno pois não existe em minha base sintaxe igual a “coeficient”. Mas se meu objetivo é fazer um busca genérica digito: ??coefficient Essa sintaxe me retorna todas as funções que têm, em sua ajuda, o termo digitado. Além disso, podemos buscar ajudar nos fóruns. Eles são muito úteis e realmente obtêm- se resposta.
  • 3. Um fórum muito interessante é: http://www.nabble.com/R-f13819.html 3) Manipulações simples 3.1) O caractere precedente # denota texto: # blablabla 3.2) Operações com escalares (funções de calculadora) y1 = 2 y2 = 3 + 2 y3 = 3/5 y4 = 3*5 y5 = 10^3.5 y6 = log(100) # log é na base natural e, ou seja, log aqui é na verdade ln Se eu quiser log em bases diferentes é só proceder da seguinte forma: meu_objeto = log(logaritimando, base) y6.1 = log(9,3) # log de nove na base três. Sabemos que isso é dois. Alguns logs já possuem sintaxe própria: y6.2 = log2(9) # log na base 2 y6.3 = log10(9) # log na base 10 Temos ainda: meu_objeto = log1p(x). Isso é equivalente à ln(1+x). Observe que x tem de obedecer à restrição que |x|< 1. y6.4 = log1p(-0.5) y7=exp(1) # me retorna 2,718282... y8 = exp(2) # o equivalente a e² = 7.389056 y9 = pi # 3,1416... Posso estabelecer objetos dependentes de outros objetos usando os operadores acima: z1 = y1 + y2 z2 = (y1/y2)*y4 z3 = (log(y4)^y1)/y6 Podemos checar quantos objetos estão abertos: ls()
  • 4. Podemos remover alguns objetos usando o comando rm(z1,z2,z3) ou podemos remover todos os objetos usando: rm(list=ls()) 3.3) Vetores Podemos criar vetores através de três tipos: 1) por meio de sequências numéricas 2) por meio de combinações de números (imputação direta) 3) por meio de combinações de objetos (imputação direta) 3.3.1) Vejamos o tipo 1 Quando crio um objeto com a sintaxe igual a y = seq(1,8) ou y = seq(1:8) tenho nas mão a sequência: 1 2 3 4 5 6 7 8 A pergunta baixo deve me responder TRUE is.vector(y) Mas se fizermos: y = seq(1:8,4) # pegamos os quatro primeiros números da sequência y = seq(1,8,length.out=11) # estou criando um vetor com 11 elementos que vai de 1 a 8 (1.0, 1.7, 2.4, 3.1, 3.8, 4.5, 5.2, 5.9, 6.6, 7.3, 8.0) y = seq(1,8,by=3) # uma sequência que se inicia em 1, não ultrapassa 8 e altera-se a cada 3 unidades. (1, 4, 7) Obviamente, a estrutura abaixo retornará um erro pois não é possível obter um intervalo contido em em [1,8] com onze elementos que variam de três em três:
  • 5. y = seq(1,8,by=3,length.out=11) Por fim, se fizermos algo do tipo y=seq(1,1,length.out=10) teremos um vetor de constantes (neste caso 1) de dimensão 10 3.3.2) Agora o tipo 2: combinações de números (imputação direta) Se criarmos objetos do tipo: meu_objeto = c(valor_1, valor_2, ...., valor_n), criamos um vetor de dimensão N. v1 = c(1,2,3,4,5) # vetor de um a cinco v2 = c(10, 2:8) # vetor cujo primeiro elemento é 10 e os demais uma sequência de 2 a 8 (10, 2, 3, 4, 5, 6, 7, 8) Essa estrutura me permite combinar os tipos de sequências vistas anteriormente: v3 = c(seq(1,8,by=3), seq(1,1,length.out=10)) Nesse caso temos um vetor de dimensão 13 com os três primeiros elementos iguais a 1,4 e 7 e o resto igual a um. Posso ainda criar vetores de letras: letras = letters[1:10] # me retorna as 10 primeiras letras do alfalbeto. e posso combinar isso aí: v4 = c(letters[1:10], letters[1:10]) ("a", "b", "c", "d", "e", "f", "g", "h", "i", "j","a", "b", "c", "d", "e", "f", "g", "h", "i", "j") 3.3.3) Vetores por meio de combinações de objetos Se tivermos dois objetos vetoriais podemos criar um vetor a partir deles: v5 = c(v4, v2) 3.4) Álgebra de Vetores no R
  • 6. Aqui vamos ver as operações básicas de soma, subtração, divisão e multiplicação de um vetor por um outro vetor e por um escalar ou operações diretas no vetor (log, exponenciamento) 3.4.1) Álgebra de Vetores com escalares Se fizermos qualquer operação de um vetor com um escalar teremos essa operação aplicada a todos os elementos do vetor: k1 = v1 + 2, teremos:                 =+                 7 6 5 4 3 2 5 4 3 2 1 k2 = v1*2, teremos:                 =                 10 8 6 4 2 2* 5 4 3 2 1 3.4.2) Operações diretas nos Vetores Podemos tirar log e raiz dos vetores (desde que não haja valores negativos no vetor). Podemos exponenciá-los também. k3 = log(k2) k4 = k2^0.5 3.4.2) Operações de vetores com Vetores com Vetores 3.4.2.1) Soma (subtração) Se tivermos dois vetores ),( 21 vv rr e sua soma, 21 vv rr + , o R realizará esta operação independentemente da extensão dos mesmos. Caso os vetores tenham o mesmo length o R somará os elementos diretamente, isso é:           + + + =           +           2313 2212 2111 23 22 21 13 12 11 vv vv vv v v v v v v
  • 7. Caso os vetores tenham lengths diferentes, o R somará os elementos de maneira ordenada porém fazendo um loop até que se esgote a operação para o maior vetor, isto é, até que todos os elementos do maior vetor tenham sido operacionalizados. Se tivermos um vetor de comprimento 7 e outro de comprimento 3 a soma ficará:                       + + + + + + + =                       +           2711 2613 2512 2411 2313 2212 2111 27 26 25 24 23 22 21 13 12 11 vv vv vv vv vv vv vv v v v v v v v v v v 3.4.2.2) Produto (divisão, exponenciação) Para o produto (divisão, exponenciação) a lógica é a mesma! Ou seja, se tivermos trabalhando com vetores de mesmo comprimento teremos:           × × × =           ×           2313 2212 2111 23 22 21 13 12 11 vv vv vv v v v v v v Se o comprimento for diferente teremos:                       × × × × × × × =                       ×           2711 2613 2512 2411 2313 2212 2111 27 26 25 24 23 22 21 13 12 11 vv vv vv vv vv vv vv v v v v v v v v v v