Визуализация пирамиды населения по данным об отдельных лицах в R

Я надеюсь найти какую-то помощь в создании Пирамиды народонаселения в R. Что я хотел бы сделать, так это создать.gif, показывающий, как структура популяции (форели) меняется на протяжении многих лет. Вот что-то очень похожее: http://flowingdata.com/2016/06/14/growing-to-obesity/

У меня есть датафрейм с переменными c(YEAR,SEX,LENGTH,WEIGHT) для каждой рыбы. Мой df правильно классифицирован, но переменные кажутся "AsIs", если это важно. Я хотел бы построить график по оси X (обычно по возрасту), так как это работает для популяций рыб.

Я пытался следовать обоим: http://datavisualizationineconomics.blogspot.se/2016/10/generating-pyramid-plot-in-r.html

построение графика пирамиды с использованием R и ggplot2

и ряд других, чтобы помочь, но я просто не могу заставить его работать, так как я только начал с R, и мой опыт программирования очень ограничен.

Это то, что я имею до сих пор, в основном с помощью справки @ как сделать пирамиду населения с индивидуальными данными, которые показывают все возрастные уровни, даже если нет данных для этого уровня в R?

ggplot(data=Dammandataimport2,aes(x=factor(round(LENGTH), levels=seq(0,300,1)), fill=SEX)) + 
  geom_bar(data=subset(Dammandataimport2, SEX==2 & DATE==1950)) + 
  geom_bar(data=subset(Dammandataimport2, SEX==1 & DATE==1950), aes(y=..count..*(-1)),
           position="identity") + 
  scale_y_continuous(breaks=seq(-3000,3000,500),labels=abs(seq(-3000,3000,500))) +
  scale_x_discrete(breaks = seq(0,290,10), drop=FALSE) + 
  xlab("Length (cm)") + ylab("Count") + 
  coord_flip(ylim=c(-3000,3000))

Я продолжаю получать ошибки:

Ошибка в раунде (ДЛИНА): нечисловой аргумент математической функции

Ошибка в f(..., self = self): разрывы и метки имеют разную длину

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

  1. Вызовите подмножества для каждого уникального года (i) для функционирования. Годы охватывают период с 1950 года до 2006 года включительно.

  2. Соберите данные по самцам и самкам по отдельности, чтобы получить количество рыб одинаковой длины (целое число, ближайшее см) для каждого подмножества года.

  3. Создайте пирамиду для каждого я. Я хочу, чтобы каждый уровень длины отображался на графике, но могу сгруппировать их позже.

3a) Создайте левую сторону, женщины, SEX == 2.

3b) Создать правую сторону, мужчины, SEX == 1.

3c) Порядок по длине (самая длинная рыба сверху)

3d) Добавьте приведенные выше графики: процентная доля в этом столбце от общей численности населения одного пола.

  1. Сохраните графики с именем: "Pop_structure_Year_%Y.png"

  2. Запустите.png через пакет, чтобы создать файл.gif.

  3. Запустить функцию для всех уникальных лет я?

Благодарю за любую помощь!:-)

0 ответов

Другие вопросы по тегам