Home Forum Statistica con R Estrarre il numero di osservazioni condizionatamente a una o più variabili

This topic contains 3 replies and has 2 voices.

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #4767

    Alar
    Participant

    Ciao ragazzi,
    ho un’altra domanda semplice alla quale, però, non riesco a dare risposta.
    Ho un dataset composto da tre variabili: età, genere e canone (50,125,400).
    Come posso sapere quante sono le osservazioni di sesso femminile che pagano un canone di 50? di 125? di 400? e allo stesso modo quante sono le osservazioni di una età x e di sesso maschile che pagano un canone di 50?

    Pensavo di utilizzare la seguente struttura che uso solitamente per la media:

    mean(dataset$età [dataset$canone == "50"]
     mean (dataset$età [dataset$canone == "125" & dataset$genere == "F"

    con il comando sum, ma non funziona.
    Qualcuno sa consigliarmi? Grazie

    #4768
    Davide Massidda
    Davide Massidda
    Moderator

    Puoi utilizzare il comando sum per sommare i valori TRUE e FALSE che risultano dall’operazione di confronto delle variabili genere e canone con i rispettivi valori.

    sum(dataset$genere=="F" & dataset$canone==50, na.rm=T)

    Dato che TRUE vale 1 e FALSE vale 0, il risultato dell’operazione sarà il conteggio del numero di casi per i quali è soddisfatta la condizione.

    L’opzione na.rm=T esclude i dati mancanti dal computo, qualora ce ne fossero.

    #4769

    Alar
    Participant

    Perché il risultato è sempre 0 anche quando non dovrebbe esserlo?
    La struttura delle variabili è la seguente:

    str(gym.df$gender)
     Factor w/ 2 levels "F","M": 2 1 2 2 2 1 1 2 2 1 ...
    > str(gym.df$fee.paid)
     int [1:450] 50 50 50 125 125 50 125 50 125 50 ...
    > str(gym.df$age)
     int [1:450] 24 18 22 25 57 23 55 19 32 38 ...

    e questo è il risultato del comando, anche nel caso in cui inserisca le virgolette al vaore di 50:

    sum(gym.df$genere=="F" & gym.df$fee.paid==50, na.rm=T)
    [1] 0
    #4770

    Alar
    Participant

    Errore mio, Davide, scusa!
    Non ho variabili di nome “genere”, ma “gender”..

    Grazie ancora!

Viewing 4 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic.