stata-opdracht:
count if sex==1 & group1==2
count if sex==1 & group2=="A"
count telt het aantal waarnemingen dat aan de opgegeven voorwaarden voldoet. Als er geen voorwaarden zijn opgegeven, geeft count het aantal waarnemingen in de gegevens weer.
Hoe te tellen in R? Dank je.
Antwoord 1, autoriteit 100%
Met de functie with
kunt u verkorte kolomverwijzingen gebruiken en sum
telt TRUE
resultaten van de uitdrukking(en).
sum(with(aaa, sex==1 & group1==2))
## [1] 3
sum(with(aaa, sex==1 & group2=="A"))
## [1] 2
Zoals @mnelal aangaf, kun je ook het volgende doen:
nrow(aaa[aaa$sex==1 & aaa$group1==2,])
## [1] 3
nrow(aaa[aaa$sex==1 & aaa$group2=="A",])
## [1] 2
Het voordeel daarvan is dat u het volgende kunt doen:
nrow(aaa)
## [1] 6
En het gedrag komt bijna exact overeen met Stata’s count
(ondanks de syntaxis).
Antwoord 2, autoriteit 23%
U kunt ook de filterfunctie van het dplyr-pakket gebruiken dat rijen met overeenkomende voorwaarden retourneert.
> library(dplyr)
> nrow(filter(aaa, sex == 1 & group1 == 2))
[1] 3
> nrow(filter(aaa, sex == 1 & group2 == "A"))
[1] 2