Визуализация пирамиды населения по данным об отдельных лицах в 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): разрывы и метки имеют разную длину
Я предполагаю, что рабочий процесс будет выглядеть примерно так:
Вызовите подмножества для каждого уникального года (i) для функционирования. Годы охватывают период с 1950 года до 2006 года включительно.
Соберите данные по самцам и самкам по отдельности, чтобы получить количество рыб одинаковой длины (целое число, ближайшее см) для каждого подмножества года.
Создайте пирамиду для каждого я. Я хочу, чтобы каждый уровень длины отображался на графике, но могу сгруппировать их позже.
3a) Создайте левую сторону, женщины, SEX == 2.
3b) Создать правую сторону, мужчины, SEX == 1.
3c) Порядок по длине (самая длинная рыба сверху)
3d) Добавьте приведенные выше графики: процентная доля в этом столбце от общей численности населения одного пола.
Сохраните графики с именем: "Pop_structure_Year_%Y.png"
Запустите.png через пакет, чтобы создать файл.gif.
Запустить функцию для всех уникальных лет я?
Благодарю за любую помощь!:-)