Why the operator if does not work in this context?
The main file with data
structure(list(age = c("0-4", "05-09", "10-14", "15-19", "20-24",
"25-29", "30-34", "35-39", "40-44", "45-49", "50-54", "55-59",
"60-64", "65-69", "70-74", "75-79", "80-84", "85+", "0-4", "05-09",
"10-14", "15-19", "20-24", "25-29", "30-34", "35-39", "40-44",
"45-49", "50-54", "55-59", "60-64", "65-69", "70-74", "75-79",
"80-84", "85+", "0-4", "05-09", "10-14", "15-19", "20-24", "25-29",
"30-34", "35-39", "40-44", "45-49", "50-54", "55-59", "60-64",
"65-69", "70-74", "75-79", "80-84", "85+", "0-4", "05-09", "10-14"
), gender = c("F", "F", "F", "F", "F", "F", "F", "F", "F", "F",
"F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F",
"F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F",
"F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F",
"F", "F", "F", "F", "F", "M", "M", "M"), year = c(2011, 2011,
2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011,
2011, 2011, 2011, 2011, 2011, 2001, 2001, 2001, 2001, 2001, 2001,
2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001,
2001, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991,
1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 2011, 2011, 2011
), pop = c(25.4759696688669, 21.129961995163, 20.711726947066,
27.4762242467223, 30.8584728965505, 31.4039968723292, 38.3503354972451,
39.695961304166, 31.476733402433, 31.6403905951667, 32.6405178840943,
38.2048624370374, 38.7867546778681, 28.4945356681759, 21.4390922481043,
17.5658720200753, 14.3109122979288, 9.47393304602404, 21.1892611493233,
27.4018193920568, 30.7299755935212, 31.8208712373345, 39.4571407440278,
39.8639153908735, 31.0627912136676, 31.2846682937653, 33.2815620146439,
39.4756305007026, 40.751423711264, 30.7854448635456, 25.3494564011538,
24.0921529472672, 25.330966644479, 21.6699948228681, 8.20945196361216,
1.92293469417942, 29.7360023208587, 31.567304902814, 40.125471424427,
40.9413983173774, 31.404119524224, 31.3134609805628, 31.9299390774587,
38.6568030171163, 40.361183637946, 30.1892950391645, 25.1486800116043,
26.2365825355382, 29.3552364374819, 30.4794023788802, 16.1372207716855,
18.53060632434, 13.6713083841021, 6.67246881346098, 28.4036150055462,
22.8210863200771, 22.020984488935)), row.names = c(NA, 57L), class = "data.frame")
It was the part of the file with basic data. It is not clear how to make different colors for the left and right sides of 2001. I want to make a comparison of two age structures, and the ideal would be to make different colors on either side of the graph for only one year
library(dplyr)
library(tidyr)
library (ggthemes)
library(readxl)
library(ggplot2)
pyramidRak1 <- read_excel("~/MetodyVSG/U3/Rstudio/pyramidRak1.xlsx")
df3= data.frame(pyramidRak1)
rgb.val <- col2rgb("white")
t.col <- rgb(rgb.val[1], rgb.val[2], rgb.val[3],
max = 255,
alpha = (100 - 99) * 255 / 100,
names = "blue")
ggplot(data = df3, aes(x = age, y = pop, fill = (as.factor(year)), color=gender,width = 1)) +
geom_bar(data = df3 %>% filter(gender == "F", year != 2011) %>% arrange(rev(year)),
stat = "identity",
position = "identity") +
geom_bar(data = df3 %>% filter(gender == "M", year != 2011) %>% arrange(rev(year)),
stat = "identity",
position = "identity",
mapping = aes(y = -pop)) +
coord_flip() +
scale_y_continuous(labels= abs, limits = (45)*c(-1,1)) +
geom_hline(yintercept = 0) +
scale_fill_economist() +
labs(title = NULL, x = "Věk", y = "Může Podíl obyvatel (v ‰) Ženy",face="bold")+
theme_bw()+
guides(fill=guide_legend(title=NULL))+
scale_fill_manual(values=c(t.col,if ("gender" == "M") {"blue"} else {"pink"}))