Questão nº 25

Questão de Tecnologia da Informação · FCC TRT15 2024 (nº 25)

FCC2024Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Cver comentário ↓

Uma equipe de um Tribunal Regional do Trabalho está desenvolvendo um modelo preditivo para avaliar o tempo de tramitação de processos trabalhistas. Os dados estão armazenados em um arquivo CSV chamado "processos.csv", com as seguintes colunas:

  • id_processo: Identificador único do processo.
  • data_abertura: Data em que o processo foi aberto.
  • data_encerramento: Data em que o processo foi encerrado.

A equipe deseja calcular o tempo de tramitação (em dias) de cada processo e inseri-lo em uma nova coluna chamada tempo_tramitacao. Considerando que o arquivo foi carregado em um dataframe chamado dados, o comando R que realiza corretamente esta tarefa é:

Resposta comentada

Gabarito Alternativa C

Para calcular a duração entre duas datas em R, primeiro você precisa garantir que as colunas de data sejam reconhecidas como objetos de data (Date) usando a função as.Date(). Depois de convertidas, a subtração direta de uma data por outra (data_final - data_inicial) resultará em um objeto de diferença de tempo (difftime), que por padrão já vem em dias quando se subtrai objetos Date. Para obter esse valor como um número simples (inteiro ou decimal), você deve convertê-lo para numérico usando as.numeric().

  • (A) Incorreta: A sintaxe .days não é uma forma válida em R para extrair o valor numérico de dias de um objeto difftime, causando um erro.
  • (B) Incorreta: Embora difftime() seja a função correta para diferenças de tempo, a ordem dos argumentos está invertida (data_abertura antes de data_encerramento), resultando em valores negativos para o tempo de tramitação. Além disso, as colunas de data precisariam ser convertidas para o formato Date antes de serem passadas para difftime para garantir robustez. Armadilha: Esta alternativa é tentadora porque difftime é a função específica para o cálculo de diferenças de tempo e o argumento units = "days" parece ideal, mas a inversão da ordem dos argumentos é um erro crucial que levaria a resultados incorretos (duração negativa).
  • (C) Correta: Esta é a abordagem correta e robusta. Primeiro, as.Date() converte as colunas de data (que provavelmente são strings) em objetos de data. Em seguida, a subtração data_encerramento - data_abertura calcula a diferença, resultando em um objeto difftime (já em dias por padrão para subtração de objetos Date). Finalmente, as.numeric() converte esse objeto difftime para um valor numérico simples, representando o tempo de tramitação em dias.
  • (D) Incorreta: O operador := não é um operador de atribuição padrão em R base para a função transform(). Além disso, a subtração direta de dados$data_encerramento - dados$data_abertura sem a conversão prévia para Date via as.Date() resultaria em erro ou valores NA, pois R não pode subtrair strings diretamente.
  • (E) Incorreta: A função mutate() pertence ao pacote dplyr (tidyverse) e não é uma função do R base. Além disso, a ordem da subtração (data_abertura - data_encerramento) está invertida, resultando em valores negativos para o tempo de tramitação. Assim como na alternativa D, a falta de as.Date() causaria um erro se as colunas fossem strings.

Fonte: FCC TRT15 2024 Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). 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