Questão nº 44

Questão de Estatística · FGV TJDFT 2022 (nº 44)

FGV2022Analista Judiciário - EstatísticaEstatística
Gabarito: Aver comentário ↓

Utilizando a Linguagem R tem-se um objeto x como consta a seguir.

x
## [1] 1    3    4    3    4    <NA>
## Levels: 1 3 4
is.factor(x)
## [1] TRUE

O comando que resulta na soma dos elementos numéricos de x é:

Resposta comentada

Gabarito Alternativa A

Em R, um fator é uma forma de armazenar dados categóricos. Ele guarda os valores como números inteiros (códigos internos) e associa esses números a rótulos (os níveis do fator). Para somar os valores numéricos que os níveis representam, é preciso converter esses níveis para o tipo numérico correto.

  • (A) Correta: sum(as.numeric(as.character(x)), na.rm = TRUE)
    Primeiro, as.character(x) converte o fator x para um vetor de caracteres, usando os rótulos (levels) do fator ("1", "3", "4", "3", "4", NA). Em seguida, as.numeric() converte esses caracteres para números (1, 3, 4, 3, 4, NA). Finalmente, sum(..., na.rm = TRUE) soma esses números, ignorando o NA, resultando em 1 + 3 + 4 + 3 + 4 = 15.

  • (B) Incorreta: sum(x)
    Quando sum() é aplicado diretamente a um fator, ele tenta somar os códigos internos do fator (que são inteiros que representam a ordem dos níveis). No caso de x, os níveis 1, 3, 4 são mapeados internamente para 1, 2, 3 respectivamente. Assim, x internamente é c(1, 2, 3, 2, 3, NA). sum(c(1, 2, 3, 2, 3, NA)) resultaria em NA por padrão, pois há um NA e na.rm não foi especificado como TRUE.

  • (C) Incorreta: sum(as.numeric(x), na.rm = TRUE)
    Armadilha da banca: as.numeric(x) não converte os valores dos níveis para números, mas sim os códigos internos do fator para números. Como explicado na alternativa B, os códigos internos de x são c(1, 2, 3, 2, 3, NA). Somar esses valores com na.rm = TRUE resultaria em 1 + 2 + 3 + 2 + 3 = 11, que não é a soma dos valores originais.

  • (D) Incorreta: sum(as.numeric(x), na.rm = FALSE)
    Assim como na alternativa C, as.numeric(x) converte os códigos internos do fator (c(1, 2, 3, 2, 3, NA)) para números. Como na.rm = FALSE (ou omitido, pois é o padrão), a presença de NA no vetor resulta em NA para a soma total.

  • (E) Incorreta: sum(x[-5])
    x[-5] remove o quinto elemento (que é 4). O fator resultante seria c(1, 3, 4, 3, NA). No entanto, sum() ainda operaria sobre os códigos internos desse fator reduzido (c(1, 2, 3, 2, NA)). Como na.rm não é TRUE, o resultado da soma seria NA. Mesmo que fosse na.rm = TRUE, a soma seria 1 + 2 + 3 + 2 = 8, que não é a soma dos valores numéricos desejados.

Fonte: FGV TJDFT 2022 Analista Judiciário - Estatística (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho