Я работаю над проектом, который ищет связь между семейным доходом и количеством детей. Для простоты предположим, что у меня есть такие данные:
df <- data.frame(children = sample(0:9, 100, replace=TRUE),
income = floor(rnorm(100, 30000, 10000)))
Я делю доход на четыре группы по 1-му, среднему, 3-му квантилям:
income.br <- with(df, c(-Inf, stats(income)[5], stats(income)[6],
stats(income)[7], Inf))
и сохранить в виде таблицы:
x <- with(df, table(children, cut(income, breaks = income.br)))
Сейчас мне нужно подсчитать mean
количество детей в каждой группе доходов. Вот что я сделал:
apply(x * as.numeric(levels(factor(df$children))), 2, sum) / apply(x, 2, sum)
Это выглядит неуклюже, поэтому я подумал, есть ли лучший способ сделать это (например, в одну сторону anova
может быть?) Спасибо!