Я действительно не понимаю, зачем вам такие данные. Вы можете идеально создать отчет, используя взвешенные сводки данных, следующим образом.
data
library(ggplot2)
library(dplyr)
set.seed(123)
df <- data.frame(
sex = sample(c("Male", "Female"), size = 100, replace = TRUE),
age = rnorm(100, mean = 25, sd = 10),
expansion.factor = sample(12:40, size = 100, replace = TRUE)
)
Вы можете создавать сводки
df %>%
group_by(sex) %>%
summarise(
count = sum(expansion.factor),
mean_age = (sum(age * expansion.factor))/sum(expansion.factor),
# There are packages with functions like this one
mean_age2 = weighted.mean(age, expansion.factor)
)
# A tibble: 2 x 4
sex count mean_age mean_age2
<fct> <int> <dbl> <dbl>
1 Female 1050 28.0 28.0
2 Male 1611 24.3 24.3
Визуализации с использованием ggplot2
df %>%
ggplot(aes(x = age, weight = expansion.factor)) +
geom_histogram(bins = 20)