Я надеюсь использовать одну функцию, чтобы создать пропорциональный фрейм данных следующего набора данных и создать диаграмму результатов:
# Data
Id <- c(1,2,3,4,5,6,7,8,9,10)
Type <- c("Beginner", "Expert", "Intermediate", "Beginner",
"Professional", "Expert", "Intermediate", "Professional",
"Professional", "Expert")
Response<- c(1,1,2,2,1,2,1,2,1,1)
Successful <- data.frame(Id, Type, Response)
Successful
# Successful
Id Type Response
1 Beginner 1
2 Expert 1
3 Intermediate 2
4 Beginner 2
5 Professional 1
6 Expert 2
7 Intermediate 1
8 Professional 2
9 Professional 1
10 Expert 1
# Function 1: creating a proportional data frame
StoreDF <- function(dataset, variable1, variable2){
as.data.frame(round(100* prop.table(table(dataset[[variable1]],
dataset[[variable2]]),2), 1))
}
DFRespType <- StoreDF(Successful, "Response", "Type")
DFRespType
# Function 2: plotting the results
PropCompareBarPlot <- function(data, plottitle, xtitle){
ggplot(data, aes(x=Var2, y=Freq, fill= Var1)) +
geom_col(aes(fill=Var1), colour="Black") +
ggtitle(plottitle) +
theme(plot.title = element_text(hjust=0.5)) +
theme(legend.title = element_blank()) +
xlab(xtitle) + ylab("Proportion") +
scale_fill_manual(values = c("red", "green")) +
}
PropCompareBarPlot(DFRespType, "Responses Provided vs type of applicant",
"Type/Level of training")
Есть ли способ объединить эти две функции водин?
Большое спасибо заранее за любую помощь, оказанную