Поскольку вы не публиковали никаких данных, я продолжил и создал некоторые поддельные данные, чтобы попытаться воспроизвести пример. Я думаю, что есть два способа сделать это: один с помощью ggplot, а другой с помощью base r.
Первый - с использованием базы R
##Create mock data
library(tidyverse)
set.seed(1)
x <- tibble(Ratio = c(rnorm(1000,15,1),rnorm(1000,5,1)),
Sex = c(rep("Male", 1000), rep("Female",1000)))
female_df <- filter(x, Sex == "Female") ##Create a dataframe only for females
male_df <- filter(x, Sex == "Male") ##Create a dataframe only for Males
hist(female_df$Ratio, col = "red",main = "", xlab = "Ratio") ##Female histogram
hist(male_df$Ratio, col="blue",main = "", xlab = "Ratio") #Male histogram
#If you want it is possible to combine the two histograms in the same graph
hist(female_df$Ratio, xlim = c(0,20), col = "red",main = "", xlab = "Ratio")
hist(male_df$Ratio, col="blue", add=T)
Использование ggplot2
x %>% ggplot(aes(x = Ratio, fill = Sex)) + geom_histogram(color = "black",
alpha = 0.5)
#OR
x %>% ggplot(aes(x = Ratio, fill = Sex)) + geom_histogram(color = "black", alpha = 0.5) +
facet_wrap(~Sex, scales = "free")