Questão FC374783
Uma empresa farmacêutica realiza um estudo com derivados de sangue para avaliar a eficácia de diferentes protocolos no tratamento de pacientes. Os dados do estudo foram armazenados
Linguagens de Programação para Ciência de Dados
Instituto Consulplan · 2025
Uma empresa farmacêutica realiza um estudo com derivados de sangue para avaliar a eficácia de diferentes protocolos no tratamento de pacientes. Os dados do estudo foram armazenados em uma planilha no formato CSV, contendo as seguintes informações; analise-as.
\(\bullet\) Paciente: Identificação do paciente;
\(\bullet\) Protocolo: O tipo de protocolo utilizado no tratamento (A, B ou C);
\(\bullet\) Desfecho: Resultado do tratamento, classificado como “Sucesso” ou “Falha”.
Usando o software R, a equipe definiu os comandos relacionados a seguir para carregar os dados salvos na planilha dados_ estudo.csv e, com base no pacote dplyr, criar uma tabela de contingência que mostre o número de pacientes em cada combinação de Protocolo e Desfecho:
| install.packages("dplyr") library(dplyr) dados <- read.csv("dados_estudo.csv") tabela <- dados %>% group_by(Protocolo, desfecho) %>% summarise(resultado = n ()) |
Com base no código fornecido e nas informações apresentadas, sobre a manipulação dos dados realizada pela equipe, assinale a afirmativa INCORRETA.
- O código fornecido cria um objeto chamado “tabela” que contém três colunas: Protocolo, Desfecho e Resultado.
- A tabela resultante não será a mesma, caso o comando group_by() seja usado separadamente; e em sequência para as colunas Protocolo e Desfecho.
- O comando group_by(Protocolo, Desfecho) é usado adequadamente para criar agrupamentos com base nas combinações de valores nas colunas Protocolo e Desfecho.
- O comando summarise(Resultado = count(Paciente)) será equivalente ao comando summarise(Resultado = n()) usado para calcular o número total de ocorrências para cada combinação de Protocolo e Desfecho.
Mostrar resposta e comentário
Gabarito
D
Comentário do professor
O enunciado é incorreto porque count() e n() não são equivalentes dentro de summarise().
n() é uma função especial do dplyr que, quando usada dentro de um summarise() com grupos, retorna um único inteiro: o número de linhas do grupo (ou seja, o total de ocorrências por combinação de Protocolo e Desfecho).
count(), por outro lado, é uma função de nível superior que recebe um data.frame (ou um tibble) e variáveis, e retorna um tibble com contagens por chave; não produz um escalar adequado para atribuição direta dentro de summarise(). Usá‑la como summarise(Resultado = count(Paciente)) gera resultado inadequado ou erro.
Se a intenção for contar pacientes distintos, a forma correta é summarise(Resultado = n_distinct(Paciente)); para contar todas as linhas do grupo, use summarise(Resultado = n()).
Conteúdo do catálogo FC Concursos · Atualizado em