如何按R中的性别和唯一ID进行计数

时间:2017-03-26 13:45:54

标签: r dplyr

我正在尝试计算数据框trips中“性别”列中的女性,男性和N / A的数量。但是我只返回行数。

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

2 个答案:

答案 0 :(得分:0)

对于女性类型:

sum(trips$gender=='Female')

对于男性类型

sum(trips$gender=='male')

对于NA,是仅在性别列中还是在所有列中?输入:

colsums(is.na(trips))

您将获得每列中的NA数量。

希望它有所帮助。

答案 1 :(得分:0)

这是一个dplyr解决方案。我添加了一条性别为NA的行,正如您所提到的,您也想要计算它们。

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
相关问题