# Are they happy at school? PISA data and visualisation challange @ useR!2014

**SmarterPoland » PISA in english**, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

I hope you have already heard about DataVis contest at useR!2014 (in case you did not, here is more information: http://www.oecd.org/pisa/pisaproducts/datavisualizationcontest.htm).

As a jury member I am not going to submit any work, but I am going to encourage you to play with the data, crunch a finding and submit interesting plot.

How easy is to download the data and create some graph?

Let’s take a look at students’ answers for questions: *‘Do you feel happy at school?’* and *‘How familiar are you with Declarative Fractions?’*.

**Are boys more familiar with ‘Declarative Fractions’ than girls? **

(funny fact: ‘Declarative Fraction’ is a fake concept that is used in PISA to measure overconfidence)

(funny fact 2: plot familiarity with ‘Declarative Fractions’ across countries, results are very interesting)

library(ggplot2) library(reshape2) library(likert) library(intsvy) # read students data from PISA 2012 # directly from URL con <- url("http://beta.icm.edu.pl/PISAcontest/data/student2012.rda") load(con) # variable ST62Q13 codes familiarity with 'Declarative Fraction' tab <- pisa.table(variable="ST62Q13", by="ST04Q01", data=student2012) ptab <- acast(tab, ST04Q01~ST62Q13, value.var="Percentage") ddat <- data.frame(Item=rownames(ptab), ptab) # plot it with the likert package likert.bar.plot(likert(summary=ddat), center=2) + ggtitle("Declarative Fraction") + theme_bw() |

**In which countries the fraction of kids that declare that they are happy at school is the highest?
**

# variable ST87Q07 codes 'Sense of Belonging - Feel Happy at School' # pisa.table calculates weighted fractions and it's standard errors tab <- pisa.table(variable="ST87Q07", by="CNT", data=student2012) ptab <- acast(tab, CNT~ST87Q07, value.var="Percentage") # need to add fake column with 0, otherwise likert.bar.plot will fail ddat <- data.frame(Item=rownames(ptab), cbind(ptab[,4:3], 0, ptab[,2:1])) ddat <- ddat[-grep(rownames(ddat),pattern="(", fixed=TRUE),] # plot it with the likert package likert.bar.plot(likert(summary=ddat), plot.percent.neutral=FALSE) + ggtitle("Sense of Belonging - Feel Happy at School") |

There is a lot of ‘kind of Likert’ scale questions in the PISA study, for sure there is a lot of nice stories as well.

**leave a comment**for the author, please follow the link and comment on their blog:

**SmarterPoland » PISA in english**.

R-bloggers.com offers

**daily e-mail updates**about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.