Questão nº 74
Questão de Estatística · FGV TCE-ES 2022 (nº 74)
Uma base de dados consiste em 10 milhões de observações de pesos de adultos saudáveis. Suponha que se deseja calcular a proporção de indivíduos amostrados que tem peso maior ou igual a L e menor ou igual a U, com U > L.
Se os valores estão guardados em um vetor chamado "pesos", o comando R que calcula corretamente a proporção desejada é:
- A`sum( (pesos <= L) * (pesos >= U) )`
- B`sum( (pesos >= L) + (pesos <= U) )`
- C`mean( (pesos >= L) * (pesos <= U) )` (alternativa correta)
- D`mean( (pesos <= L) * (pesos >= U) )`
- E`mean( (pesos <= L) + (pesos >= U) )`
Resposta comentada
Gabarito Alternativa C
Para calcular uma proporção em R a partir de um vetor de valores lógicos (TRUE/FALSE), podemos usar a função mean(). Isso porque TRUE é interpretado como 1 e FALSE como 0 em operações numéricas, então a média de 1s e 0s é a proporção de 1s (ou TRUEs). A condição "maior ou igual a L E menor ou igual a U" é expressa em R combinando as condições lógicas com o operador * (que funciona como um "E" lógico para vetores de TRUE/FALSE, pois 1*1=1, 1*0=0, 0*1=0, 0*0=0).
- (A) Incorreta: A função
sum()contaria o número de observações que atendem à condição, não a proporção. Além disso, a condição(pesos <= L) * (pesos >= U)é logicamente impossível de ser satisfeita por um único peso se (um peso não pode ser menor ou igual a L E maior ou igual a U ao mesmo tempo). - (B) Incorreta: A função
sum()contaria o número de observações, não a proporção. O operador+entre condições lógicas atua como um "OU" (mas com soma, não apenasTRUE/FALSE), e a condição(pesos >= L) + (pesos <= U)seria satisfeita por quase todos os pesos (qualquer peso maior ou igual a L OU menor ou igual a U, o que é uma faixa muito ampla e não o intervalo desejado). - (C) Correta: A função
mean()calcula a proporção deTRUEs (que são1s) em um vetor lógico. A condição(pesos >= L) * (pesos <= U)corretamente identifica os pesos que são "maior ou igual a L E menor ou igual a U", pois o*atua como um "E" lógico. - (D) Incorreta: Embora
mean()calcule a proporção e*atue como "E" lógico, a condição(pesos <= L) * (pesos >= U)está invertida. Ela busca pesos que são menores ou iguais a L E maiores ou iguais a U, o que é logicamente impossível se . Isso resultaria em uma proporção de 0. Armadilha da banca: Esta alternativa é tentadora porque usamean()e*como na resposta correta, mas inverte as condições de limite, buscando um intervalo logicamente impossível. - (E) Incorreta: O operador
+entre condições lógicas não é a forma correta de expressar um "E" lógico para o intervalo desejado. Além disso, a condição(pesos <= L) + (pesos >= U)busca pesos que estão fora do intervalo , ou seja, menores ou iguais a L OU maiores ou iguais a U, que é o oposto do que foi pedido.
Fonte: FGV TCE-ES 2022 Auditor de Controle Externo - Estatística (Caderno Tipo 1). Reproduzida para fins de estudo.