Vetores Numéricos
Criação
reais <- c(1, 2, 3.5, 4.9, 5.1, 6)
reais
## [1] 1.0 2.0 3.5 4.9 5.1 6.0
inteiros <- 1:6
inteiros
## [1] 1 2 3 4 5 6
Classe e tipo
class(reais)
## [1] "numeric"
class(inteiros)
## [1] "integer"
typeof(reais)
## [1] "double"
typeof(inteiros)
## [1] "integer"
Teste
É numérico?
is.numeric(reais)
## [1] TRUE
is.numeric(inteiros)
## [1] TRUE
É inteiro?
is.integer(reais)
## [1] FALSE
is.integer(inteiros)
## [1] TRUE
Conversão
De numeric para integer:
int <- as.integer(reais)
int
## [1] 1 2 3 4 5 6
class(int)
## [1] "integer"
De integer para numeric:
num <- as.numeric(inteiros)
num
## [1] 1 2 3 4 5 6
class(num)
## [1] "numeric"
Matemática e estatística
Operações básicas
Entre vetores com o mesmo número de elementos:
v1 <- c(1, 2, 3, 4)
v2 <- c(2, 3, 4, 5)
v1 + v2
## [1] 3 5 7 9
v1 * v2
## [1] 2 6 12 20
Entre vetores com número diferente de elementos (múltiplos):
v1 <- c(1, 2, 3, 4)
v2 <- c(2, 3)
v1 + v2
## [1] 3 5 5 7
Entre vetores com número diferente de elementos (não múltiplos):
v1 <- c(1, 2, 3, 4)
v2 <- c(2, 3, 4)
v1 * v2
## Warning in v1 * v2: longer object length is not a multiple of shorter object
## length
## [1] 2 6 12 8
Somatório:
sum(v1)
## [1] 10
Produto:
prod(v1)
## [1] 24
Álgebra linear
Multiplicação por escalar (\(2v\)):
v <- c(2, 3, 4)
2 * v
## [1] 4 6 8
Produto interno (\(v \bullet u\)):
v <- c(2, 3, 4)
u <- c(1, 2, 3)
v %*% u
## [,1]
## [1,] 20
class(v %*% u)
## [1] "matrix" "array"
Produto vetorial (\(v \times u\)):
v %o% u
## [,1] [,2] [,3]
## [1,] 2 4 6
## [2,] 3 6 9
## [3,] 4 8 12
class(v %o% u)
## [1] "matrix" "array"
Norma (\(\lVert v \rVert\))
sqrt(sum(v^2))
## [1] 5.385165
Estatística básica
Média:
v <- c(1,2,2,3,4,4,4,5,6,6)
mean(v)
## [1] 3.7
Mediana:
median(v)
## [1] 4
Mínimo:
min(v)
## [1] 1
Máximo:
max(v)
## [1] 6
Variância
var(v)
## [1] 2.9
Desvio padrão:
sd(v)
## [1] 1.702939