Skip to content
Ruben C. Arslan edited this page May 30, 2016 · 1 revision

Big 5 Feedback

Here's a quick drop-in code example on how to give feedback on the big 5 in formr. We're assuming that you're using items labelled like like: bfi_extra_1, bfi_extra_2, bfi_extra3R, bfi_consc_1, bfi_consc_2R with a scale from 1-5 and an R at the end marks items that are reverse-coded. (If the scale is different, change the option fallback_max below).

The code will yield five individual graphs for each of the domains, and one big graph for all of them together. The norm values are for a German convenience sample.

```{r motiv.opt,fig.height=11,fig.width=11}
library(ggplot2); library(reshape2); 
s2_initial = formr_post_process_results(results=s2_initial, item_list = NULL, fallback_max = 5)
s2_initial$Extraversion = (s2_initial$bfi_extra - 3.50) / 0.64 
s2_initial$Gewissenhaftigkeit = (s2_initial$bfi_consc - 3.77 ) / 0.50
s2_initial$Offenheit = (s2_initial$bfi_open- 3.50 ) / 0.54
s2_initial$EmoStab = -1* (s2_initial$bfi_neuro - 2.61 ) / 0.59
s2_initial$Vertraeglichkeit = (s2_initial$bfi_agree- 3.68 ) / 0.49 

qplot_on_normal(s2_initial$Vertraeglichkeit, xlab = "Verträglichkeit", ylab = "Prozentzahl anderer Menschen mit diesem Wert")
qplot_on_normal(s2_initial$Offenheit, xlab = "Offenheit für neue Erfahrungen", ylab = "Prozentzahl anderer Menschen mit diesem Wert")
qplot_on_normal(s2_initial$Gewissenhaftigkeit, xlab = "Gewissenhaftigkeit", ylab = "Prozentzahl anderer Menschen mit diesem Wert")
qplot_on_normal(s2_initial$Extraversion, xlab = "Extraversion", ylab = "Prozentzahl anderer Menschen mit diesem Wert")
qplot_on_normal(s2_initial$Vertraeglichkeit, xlab = "Verträglichkeit", ylab = "Prozentzahl anderer Menschen mit diesem Wert")

big5 = melt(s2_initial[,c("Extraversion", "Gewissenhaftigkeit", "Vertraeglichkeit", "Offenheit", "EmoStab")])

ggplot(big5,aes(x=variable,y=value, fill = variable))+
	geom_bar(stat="identity",position=position_dodge())+ 
	ylab('Ihr Wert')+
	labs(title="Ihre Big 5 Persönlichkeit")+
	scale_fill_brewer("",palette="Set1", breaks = c("Extraversion", "Gewissenhaftigkeit", "Vertraeglichkeit", "EmoStab","Offenheit"), labels = c("Extraversion", "Gewissenhaftigkeit", "Verträglichkeit", "Emotionale Stabilität","Offenheit für \nneue Erfahrungen"))+
	scale_y_continuous(limits=c(-3,3),breaks=c(-2,-1,0,1,2),labels=c('stark unter-\ndurchschnitlich','unterdurchschnittlich','Durchschnitt','überdurchschnittlich','stark über-\ndurchschnittlich')) +
	scale_x_discrete("", breaks = c("Extraversion", "Gewissenhaftigkeit", "Vertraeglichkeit", "EmoStab","Offenheit"), labels = c("Extraversion", "Gewissenhaftigkeit", "Verträglichkeit", "Emotionale Stabilität","Offenheit für \nneue Erfahrungen"))

```