I'm trying to create a function where I can pass in column names as an argument. I've seen some other examples like this post on passing column names to a function but I'm getting an error:
Error: Column
column
is unknown
Here is my data in my csv:
Role
1 Primary
2 Secondary
3 Primary
4 Primary
Here is my code:
mydata = read.csv("EA5.csv")
my_bar_chart <- function(data, column, title){
column<-eval(substitute(column),data, parent.frame())
toReturn <- data %>%
group_by(column) %>%
summarize(count = n()) %>%
mutate(percent = count/sum(count), column = reorder(column, -count, FUN=identity)) %>%
ggplot(aes(x=column, y=count)) +
xlab(title)+
geom_col() +
geom_text(aes(label = paste0(round(100 * percent, 1), "%")))
return(toReturn)
}
p1 <- my_bar_chart(mydata, Role, "EA5 Controller Role")
grid.arrange(p1)