Como calcular a média condicional em r (com exemplos)
Você pode usar a seguinte sintaxe para calcular uma média condicional em R:
mean(df[df$team == ' A ', ' points '])
Isto calcula a média da coluna “pontos” para cada linha no quadro de dados onde a coluna “equipe” é igual a “A”.
Os exemplos a seguir mostram como usar essa sintaxe na prática com o seguinte quadro de dados:
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'), points=c(99, 90, 93, 86, 88, 82), assists=c(33, 28, 31, 39, 34, 30)) #view data frame df team points assists 1 A 99 33 2 A 90 28 3 A 93 31 4 B 86 39 5 B 88 34 6 B 82 30
Exemplo 1: Calcule a média condicional para uma variável categórica
O código a seguir mostra como calcular a média da coluna “pontos” apenas para linhas no quadro de dados onde a coluna “equipe” possui o valor “A”.
#calculate mean of 'points' column for rows where team equals 'A'
mean(df[df$team == ' A ', ' points '])
[1] 94
O valor médio na coluna “pontos” para linhas onde “equipe” é igual a “A” é 94 .
Podemos verificar isso manualmente calculando a média dos valores dos pontos apenas para linhas onde “equipe” é igual a “A”:
- Pontos médios: (99 + 90 + 93) / 3 = 94
Exemplo 2: Calcule a média condicional para uma variável numérica
O código a seguir mostra como calcular a média da coluna “assistências” apenas para linhas no quadro de dados onde a coluna “pontos” tem um valor maior ou igual a 90.
#calculate mean of 'assists' column for rows where 'points' >= 90
mean(df[df$points >= 90 , ' assists '])
[1] 30.66667
O valor médio na coluna “assistências” para linhas onde os “pontos” são maiores ou iguais a 90 é 30,66667 .
Podemos verificar isso manualmente calculando a média dos valores de assistência apenas para linhas onde os pontos são maiores ou iguais a 90:
- Média de assistências: (33 + 28 + 31) / 3 = 30,66667
Recursos adicionais
Os tutoriais a seguir explicam como calcular outros valores médios em R:
Como calcular uma média aparada em R
Como calcular a média geométrica em R
Como calcular uma média ponderada em R