Como executar uma função cont.se em r


Muitas vezes você pode querer contar apenas o número de linhas em um quadro de dados R que atende a determinados critérios. Felizmente, isso é fácil de fazer usando a seguinte sintaxe básica:

 sum(df$column == value, na.rm= TRUE )

Os exemplos a seguir mostram como usar essa sintaxe na prática no seguinte quadro de dados:

 #create data frame
data <- data.frame(team=c('Mavs', 'Mavs', 'Spurs', 'Spurs', 'Lakers'),
                   points=c(14, NA, 8, 17, 22),
                   rebounds=c(8, 5, 5, 9, 12))

#view data frame
data

    team points rebounds
1 Mavs 14 8
2 Mavs NA 5
3 Spurs 8 5
4 Spurs 17 9
5 Lakers 22 12

Exemplo 1: contar linhas iguais a um determinado valor

O código a seguir mostra como contar o número de linhas onde o nome da equipe é igual a “Mavs”:

 sum(data$team == ' Mavs ')

[1] 2

O código a seguir mostra como contar o número de linhas onde o nome do time é igual a “Mavs” ou “Lakers”:

 sum(data$team == ' Mavs ' | data$team == ' Lakers ')

[1] 3

O código a seguir mostra como contar o número de linhas onde o nome do time não é igual a “Lakers”:

 sum(data$team != ' Lakers ')

[1] 4

Exemplo 2: contagem de linhas maiores ou iguais a um determinado valor

O código a seguir mostra como contar o número de linhas onde os pontos são maiores que 10:

 sum(data$points > 10, na.rm= TRUE )

[1] 3

O código a seguir mostra como contar o número de linhas onde as rejeições são menores ou iguais a 9:

 sum(data$rebounds <= 9, na.rm= TRUE )

[1] 4

Exemplo 3: contar linhas entre dois valores

O código a seguir mostra como contar o número de linhas onde os pontos estão entre 10 e 20:

 sum(data$points > 10 & data$points < 20, na.rm= TRUE )

[1] 2

O código a seguir mostra como contar o número de linhas onde as rejeições estão entre 8 e 10:

 sum(data$rebounds > 8 & data$rebounds < 10, na.rm= TRUE )

[1] 1

Recursos adicionais

Como contar observações por grupo em R
Como agrupar e resumir dados em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *