2017-03-26 3 views
-4

zu zählen Ich versuche, die Anzahl der Frauen, Männer und N/A in der Spalte "Geschlecht" im Datenrahmen trips zu zählen. Allerdings gibt mir nur die Anzahl der Zeilen zurück.Wie nach Geschlecht und eindeutige ID in R

library(dplyr) 
count(trips, vars = "gender") 
# A tibble: 1 × 2 
# vars  n 
# <chr> <int> 
#1 gender 286858 


head(trips) 

trip_id | start_time | stop_time | duration | bike_di | gender | birthyear 
1  | 10:00  | 11:00  | 3600 | BD-215 | Male | 1960 
1  | 10:30  | 11:00  | 1800 | BD-715 | Female | 1960 
1  | 10:45  | 11:00  | 900 | BD-615 | Male | 1960 
1  | 10:50  | 11:00  | 600 | BD-315 | Female | 1960 
+0

Bitte geben Sie ein reproduzierbares Beispiel an. Zeigen Sie, was Sie versucht haben. http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example –

+0

Drücken Sie den Link bearbeiten. –

+1

Vielleicht brauchst du nur 'table (trips $ gender)' –

Antwort

0

Hier ist eine dplyr Lösung. Ich habe eine Zeile hinzugefügt, in der Geschlecht NA ist, wie du erwähnt hast, du möchtest sie auch zählen.

trips <- read.table(text="trip_id start_time stop_time duration bike_di gender birthyear 
1  10:00  11:00  3600 BD-215 Male 1960 
1  10:30  11:00  1800 BD-715 Female 1960 
1  10:45  11:00   900 BD-615 Male 1960 
1  10:45  11:00   900 BD-615 NA 1960 
1  10:50  11:00   600 BD-315 Female 1960",header=TRUE, stringsAsFactors=FALSE) 

trips %>% 
group_by(gender) %>% 
summarise(gender_count=n()) 

# A tibble: 3 x 2 
    gender gender_count 
    <chr>  <int> 
1 Female   2 
2 Male   2 
3 <NA>   1 
0

Für die Weibchen geben:

sum(trips$gender=='Female') 

Für die Männchen geben

sum(trips$gender=='male') 

Für die NA, ist es nur in der gender-Spalte oder in der alle Spalten? Typ:

colsums(is.na(trips)) 

und Sie erhalten die Anzahl der NAs in jeder Spalte.

Hoffentlich hilft es.