Contare il numero di osservazioni in R

Manav Narula 30 marzo 2021
Contare il numero di osservazioni in R

In situazioni di vita reale, trattiamo grandi set di dati. Ciò può superare le centinaia di osservazioni e talvolta potrebbe essere necessario estrarre alcuni dati specifici dall’insieme.

Per tali situazioni, abbiamo alcuni metodi in R, che possono aiutare a contare le osservazioni totali di questi dati filtrati. Lavoreremo sul seguente DataFrame in questo tutorial.

df <- data.frame( gender = c("M","F","M","M"),
                  age = c(18,19,14,22),
                  stream = c("Arts","Science","Arts","Commerce"))
print(df)

Produzione:

  gender age   stream
1      M  18     Arts
2      F  19  Science
3      M  14     Arts
4      M  22 Commerce

Il primo metodo coinvolge le funzioni with() e sum().

La funzione with() restituisce un vettore logico basato su qualche espressione dopo averla applicata all’intero dataset, e la funzione sum() restituirà la somma di tutte le osservazioni True.

Il seguente frammento di codice mostrerà come funziona.

df <- data.frame( gender = c("M","F","M","M"),
                  age = c(18,19,14,22),
                  stream = c("Arts","Science","Arts","Commerce"))
                  
sum(with(df,gender == "M"))
[1] 3

Possiamo anche aggiungere più espressioni usando l’operatore &.

sum(with(df,gender == "M" & stream == "Commerce"))
[1] 1

Un altro metodo prevede l’uso della funzione nrow(), che restituisce il numero di righe in un set di dati. Possiamo filtrare le osservazioni richieste dal DataFrame, come mostrato di seguito:

nrow(df[df$gender == "M",])
[1] 3

Di nuovo, possiamo aggiungere più espressioni come quello che facciamo nella funzione with().

nrow(df[df$gender == "M" & df$stream == "Commerce",])
[1] 1

Possiamo anche usare la funzione filer() fornita nella libreria dplyr. Ciò restituisce un sottoinsieme di dati basato su alcune condizioni. L’esempio seguente spiega come:

library(dplyr)
nrow(filter(df,gender == "M"))
[1] 3
nrow(filter(df,gender == "M" & stream == "Commerce"))
[1] 1
Autore: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Articolo correlato - R Data Frame