A.7 Conversão de matriz para vetor
Frequentemente é mais conveniente trabalhar com um vetor do que com uma matriz, por isso precisamos saber como fazer o caminho inverso. Quando criamos uma matriz (p. ex.: temp_mat
) no início da seção ela foi baseada em um vetor (vtemp
). Como fazemos para voltar aquele vetor original a partir da matriz?
temp_mat[1:nrow(temp_mat) * ncol(temp_mat) ]
# vetor de temperaturas
vtemp <- temp_mat[1:(ncol(temp_mat) * nrow(temp_mat))]
vtemp
# outra forma de converte temp_mat para vetor
c(temp_mat)
# função formal para converter
as.vector(temp_mat)
# para desmanchar a matriz com os elementos seguindo a ordem das linhas
c(t(temp_mat))
as.vector(t(temp_mat))
# serie temporal de temp_mat
stemp <- c(t(temp_mat))
plot(stemp, type = "o")
# criar matriz com colunas temp e meses 1:12
cbind(rep(1:12, nrow(temp_mat)), stemp)
# dados de temp e meses
tempdat <- cbind(1:12, stemp)
# plot da temperatura pelos meses (os meses repetem)
plot(
tempdat,
type = "p", # tipo de grafico: pontos
pch = 20, # codigo numérico do simbolo do ponto
col = rep(1:3, each = ncol(temp_mat)), # cores dos pontos
cex = rep(seq(1, 2, by = 0.5), each = ncol(temp_mat)), # aumenta tamanho dos pontos
las = 1, # orientação dos labels dos eixos perpendiculares ao eixo
ylab = expression(Tar ~ (degree ~ C)), # label da variável y
xlab = "meses", # label da variavel x
main = "Temperatura mensal (1990-1992)" # título
) # end plot
# para entender a variação nas cores e símbolos usadas no gráfico
cbind(
meses = 1:12, temp = stemp,
cores = rep(1:3, each = ncol(temp_mat)), # cores
simb_tam = rep(seq(1, 2, by = 0.5), each = ncol(temp_mat))
) # tamanho dos símbolos