гистограмма с агрегированными данными в R - PullRequest
1 голос
/ 02 апреля 2020

Я новичок в и у меня есть вопрос, у меня есть набор данных, имеющий:

name surname year_of_birth monthly_salary
a     a        1970        2540
b     b        1971        5730
c     c        1970        5400
d     d        1972        4350
e     e        1973        6283
f     f        1971        4358
g     g        1973        7834
h     h        1974        4987

Я хотел бы нарисовать со средним значением годовой оклад и данные, которые будут отбираться каждые два года (1970 и 1971) (1972 и 1973) и др. c ... Каков наилучший способ сделать это?

Я создал подмножество данных с годами и рассчитал среднее значение, но есть ли возможность создать одну гистограмму со всеми этими подмножествами? Или это должно быть сделано по-другому?

Цените любую помощь или предложение.

1 Ответ

0 голосов
/ 02 апреля 2020

Вы должны быть в состоянии сделать это с aggregate и barplot. Я добавил столбец к данным, чтобы указать ваши двухлетние интервалы. Вы можете определить их при необходимости.

> year <- c(1970,1971,1970,1972,1973,1971,1973,1974)
> salary <- c(2540,5730,5400,4350,6283,4358,7834,4987)
> x <-data.frame(year, salary)
> x$yearlabel <- paste(2*floor(year/2), 2*floor(year/2)+1, sep = "-")
> x
  year salary yearlabel
1 1970   2540 1970-1971
2 1971   5730 1970-1971
3 1970   5400 1970-1971
4 1972   4350 1972-1973
5 1973   6283 1972-1973
6 1971   4358 1970-1971
7 1973   7834 1972-1973
8 1974   4987 1974-1975
> x2 <- aggregate(x$salary, list(x$yearlabel), mean)
> x2
    Group.1        x
1 1970-1971 4507.000
2 1972-1973 6155.667
3 1974-1975 4987.000
> barplot(x2$x, names.arg = x2$Group.1)
...