Um cientista de dados está trabalhando com um conjunto de da...
Qual função ou conjunto de funções do R ele deve usar para realizar essa tarefa de forma eficiente?
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Resposta Correta: D - aggregate(Salario ~ Idade, dados, mean)
Para entender por que a alternativa D é a correta, é importante compreender o que a função aggregate faz na linguagem R. A função aggregate é utilizada para aplicar uma função de resumo, como a média (mean), para dados agrupados de acordo com um ou mais fatores. No caso apresentado na questão, o cientista de dados está interessado em calcular a média de salário para cada grupo de idade. Portanto, queremos aplicar a função de média (mean) ao salário, separadamente para cada grupo de idade.
A expressão Salario ~ Idade é uma fórmula no R que indica que queremos modelar o salário com base no grupo de idade. O operador ~ é lido como "modelado por". A função aggregate tomará essa fórmula e aplicará a função especificada, que neste caso é mean, para calcular a média de salário dentro de cada grupo de idade especificado na coluna Idade do dataframe dados.
O uso da função aggregate é mais apropriado do que as outras opções por várias razões:
- A opção A, mean(dados$Salario), calcularia apenas a média de todos os salários, sem levar em conta a divisão por grupos de idade.
- A opção B, split(dados$Salario, dados$Idade), dividiria o vetor de salários em listas com base na idade, mas não calcularia a média.
- A opção C, tapply(dados$Salario, dados$Idade, sum), calcularia a soma dos salários por grupo de idade, em vez da média.
- A opção E, sum(dados$Salario) / length(unique(dados$Idade)), calcularia a média dos salários de todos os dados divididos pelo número de grupos de idade únicos, o que não corresponde ao que foi pedido.
Por esses motivos, a alternativa D é a resposta correta, pois ela efetivamente calcula a média de salário para cada grupo de idade de maneira direta e utilizando apenas funções base do R.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
No R, a função aggregate serve para aplicar uma função previamente definida em mais de um grupo de dados.
A - Mean calcula a média mas uma média simples de um fator sobre outro
B - Split divide o vetor
C - tapply também aplica funções a subgrupos dos dados, mas como podem ver, o terceiro argumento é sum. Esse código soma subgrupos de dados.
D - Aqui o programa pega duas dimensões (salários e idade) do vetor dados e aplica a função mean.
E - A função length com argumento unique gera um problema ao analisar pessoas com a mesma idade
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo