I have the following data frame:
group <- c("per1", "per1", "per1", "per2", "per2", "per2")
geo <- c("trct1", "trct2", "trct3", "trct1", "trct2", "trct3")
value <- c(1, 3, 4, 5, 6, 7)
df <- data.frame(group, geo, value)
I am trying to calculate the percentage change in value between per1 and per2 by each census tract. So far, I have tried
df <- df %>%
group_by(geo) %>%
mutate(perc_change = (value[per2] - value[per1])/value[per1])
But I keep getting the following error:
Error: Problem with mutate() column perc_change.
ℹ perc_change = (value[per2] - value[per1])/value[per1].
x object 'per2' not found
ℹ The error occurred in group 1: geo = "trct1".
I want the final data to look like
per1 "trct1" 1
per1 "trct2" 3
per1 "trct3" 4
per2 "trct1" 5
per2 "trct2" 6
per2 "trct3" 7
change "trct1" % change
change "trct2" % change
change "trct3" % change