[英]How do you group your data for a histogram
我有一个人的出生年份的数据集。 我想绘制一个直方图,但是由于我正在使用相当大的数据集,因此我希望将数据按5类分组。例如,1985年出生的人有30个人,但我希望直方图显示我的频率是6。
到目前为止,这是我的直方图代码。
ggplot(date, aes(date$year)) +
geom_histogram(colour = "black") +
labs(title = "...", x = "year", y = "frequency")
带条形图:
library(dplyr)
library(ggplot2)
dates_df <- data.frame(year = sample(1950:2018, size = 100000,replace = TRUE)) # randomly generated years
classes <- 5
dates_df %>% group_by(year) %>% summarise(cnt = n()) %>%
ggplot(aes(x= year, y = cnt/classes)) +
geom_col(colour = "black") +
theme_bw()
您也可以尝试以下操作:
require(data.table)
library(dplyr)
library(ggplot2)
fake_data <- data.table(name = c('John', 'Peter', 'Alan', 'James', 'Jack', 'Elena', 'Maria'),
year = c(2018, 2018, 2018, 2017, 2016, 2017, 2018))
fake_data %>%
group_by(year) %>%
summarize(numb_people = length(unique(name)),
number_people_freq = length(unique(name))/ 5) %>%
as.data.table() %>%
ggplot(., aes(year)) +
geom_bar(aes(y = number_people_freq), stat = 'identity') +
labs(title = "...", x = "year", y = "frequency")]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.