我正在尝试计算数据框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
答案 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