O R pode ser visto como:
- Uma implementação da linguagem de programação
S; - Ambiente para estatística computacional e gráficos;
O software pode ser obtido em www.r-project.org.
O R foi criado por Robert Gentleman e Ross Ihaka.
O R pode ser visto como:
S;O software pode ser obtido em www.r-project.org.
O R foi criado por Robert Gentleman e Ross Ihaka.
Existem 2 tipos de objetos:
Programar é escrever funções que transformam argumentos em valores de retorno.
Um bom programa reduz uma grande transformação em uma sequência de transformações menores.
Em R, é boa prática distribuir um conjunto de funções que realizem uma tarefa específica no formato de pacotes.
logical;integer;character;character;double/numeric;NA, NaN;O R possui diversos pacotes para auxiliar na execução de tarefas específicas. Por exemplo:
ggplot2 para gráficos de alta qualidade;plyr para manipulação de objetos;caret para unificação de API para técnicas de regressão e classificação;splines para disponibilização de métodos para splines.A interação com o R é feita por meio do seu interpretador. Ele recebe comandos, que podem ser digitados individualmente ou interpretados a partir da leitura direta de um arquivo de scripts.
1/sqrt(2*pi)*exp(-3^2/2)
## [1] 0.004431848
dnorm(3)
## [1] 0.004431848
Comparações são operadores binários que retornam um booleano:
3 < 9
## [1] TRUE
3 == 3
## [1] TRUE
3 > 9
## [1] FALSE
Explique:
3*.15
## [1] 0.45
.45
## [1] 0.45
3*.15 == .45
## [1] FALSE
typeof(3)
## [1] "double"
typeof(3L)
## [1] "integer"
typeof("3")
## [1] "character"
typeof(3 == 3)
## [1] "logical"
x1 = 1:10 mean(x=x1)
## [1] 5.5
mean(x2 <- 1:3)
## [1] 2
x1
## [1] 1 2 3 4 5 6 7 8 9 10
x2
## [1] 1 2 3
Ao programar, use nomes informativos de variáveis. Esta é a primeira chave para abstração na programação.
raio = 8 areaCirculo = 2*pi*(raio^2) areaCirculo
## [1] 402.1239
Uma sequência de valores é chamada vetor.
x = c(9, 10, 4, 1) x[3]
## [1] 4
x[4] = 0 x[-3]
## [1] 9 10 0
y = c(-1, 14, -5, 0) x
## [1] 9 10 4 0
y
## [1] -1 14 -5 0
x+y
## [1] 8 24 -1 0
x
## [1] 9 10 4 0
y
## [1] -1 14 -5 0
x < y
## [1] FALSE TRUE FALSE FALSE
x
## [1] 9 10 4 0
x - c(9, 10)
## [1] 0 0 -5 -10
x < 10
## [1] TRUE FALSE TRUE TRUE
x
## [1] 9 10 4 0
y
## [1] -1 14 -5 0
x == y
## [1] FALSE FALSE FALSE TRUE
identical(x, y)
## [1] FALSE
x
## [1] 9 10 4 0
y
## [1] -1 14 -5 0
all.equal(x, y)
## [1] "Mean relative difference: 1"
names(x) = c("Joao", "Maria", "Jose", "Pedro")
x
## Joao Maria Jose Pedro ## 9 10 4 0
x["Maria"]
## Maria ## 10
data.framesObjetos do tipo data.frame são tabelas de dados cujas colunas podem ser de diferentes tipos (ao contrário de uma matriz, na qual todos os elementos são exatamente do modo).
mydf = data.frame(x=c(9, 4, 10, 0), y=c('masc', 'fem', 'fem', 'masc'))
mydf
## x y ## 1 9 masc ## 2 4 fem ## 3 10 fem ## 4 0 masc