Analise o código, escrito na linguagem R, a seguir. a.x <- c(1,2,5:8) b.x <- as.matrix(a.x) (dim(b.x)) is.matrix(b.x) A saída por ele produzida será
- A)[1] 3 1 [1] TRUE
Errada, porque o vetor tem 6 elementos, nao 3, embora is.matrix(b.x) realmente fosse TRUE.
- B)[1] 3 1 [1] FALSE
Errada, porque a dimensao nao e 3 x 1; o objeto tem 6 linhas e 1 coluna, e is.matrix(b.x) e TRUE, nao FALSE.
- C)[1] 4 1 [1] FALSE
Errada, porque o objeto nao tem 4 elementos, e is.matrix(b.x) nao seria FALSE, ja que as.matrix criou uma matriz.
- D)[1] 6 1 [1] TRUE
Certa, pois c(1,2,5:8) gera 6 valores, as.matrix transforma em matriz 6 x 1 e is.matrix(b.x) retorna TRUE.
- E)[1] 6 1 [1] FALSE
Errada, porque a dimensao 6 x 1 ate esta correta, mas is.matrix(b.x) nao e FALSE; ele retorna TRUE.
Gabarito: D
Em R, a funcao c(1,2,5:8) junta os valores em um vetor simples. Como 5:8 gera 5, 6, 7 e 8, o vetor final tem 6 elementos: 1, 2, 5, 6, 7, 8. Ou seja, nada de magia, so uma sequencia bem comportada. Depois, as.matrix(a.x) converte esse vetor em uma matriz de uma coluna e tantas linhas quanto forem os elementos. Como o vetor tem 6 valores, o resultado vira uma matriz 6 x 1. Por isso, dim(b.x) mostra [1] 6 1. Em seguida, is.matrix(b.x) verifica se o objeto eh mesmo uma matriz. Como b.x foi criado com as.matrix, a resposta eh TRUE. Em provas de R, essa diferenca entre vetor e matriz cai bastante: a estrutura muda, mesmo que os valores sejam os mesmos. Assim, a saida correta eh 6 1 e TRUE, que corresponde a alternativa D.