Reading the data, than gather and rearrange it using functions from the tidyr library.

 library(ggplot2)
 library(tidyr)
 setwd('C:/Shmuel/Nanodegree/Explorer_Data_R')

 per_chil <- read.csv('indicator_total0-4percen.csv')

 A <- gather(per_chil,'year','n',2:22)
 A <- subset(A,!is.na(n))

Histogram, depict the global distribution of children’s Percentage at the age 0-4, with respect to countries during 1950.

 qplot(x=X1950, binwidth = 1, 
       data = per_chil, color = I('black'), fill = I('#099DD9')) +
  scale_x_continuous(lim = c(2, 22), breaks=seq(2, 22, 1)) + 
  xlab('Percent [%]') +
  ylab('Number countries') + 
  ggtitle("Distribution of children's Percentage at the age 0-4, year 1950")

Histogram depict the global distribution of children’s Percentage at the age 0-4, with respect to countries during 2015.

 qplot(x=X2015, binwidth = 1, data = per_chil,
       color = I('black'), fill=I('#099DD9')) +
  scale_x_continuous(lim = c(2, 22), breaks=seq(2, 22, 1)) + 
  xlab('Percent [%]') +
  ylab('Number countries') + 
  ggtitle("Distribution of children's Percentage at the age 0-4, year 2015")

Boxplot depict changes in the global average of childrens Percent at the age 0-4, during the years 1950-2050

 qplot(y = n, x = year, 
       data = subset(A, !is.na(n)),geom = 'boxplot') +   
    ylab('Percent of childrens age 0-4 [%]') + 
    scale_x_discrete(breaks = c(colnames(per_chil)[seq(2, 22, 2)]), labels=c(seq(1950, 2050, 10))) +
    ggtitle("Percent of childrens age 0-4 as  during the years 1950-2050")

Changes during 1950-2050, for the two countries that show maximum differances and for the two countries that show minimum differance.

D <- (sort(by(A$n, A[1], max ) - by(A$n, A[1], min ), decreasing = TRUE))
D <- subset(D, !is.na(1))

D2 <- subset(A, A[1] == names(D[dim(D)])|A[1] == names(D[1])|A[1] == names(D[2])|A[1] == names(D[dim(D) - 1]))
colnames(D2) <- c('country', 'year', 'n')

ggplot(D2, aes(x=year, y=n, colour=country)) + geom_point(size = 5) +
    scale_x_discrete(breaks = c(colnames(per_chil)[seq(2, 22, 2)]), labels = c(seq(1950, 2050, 10)))

data obtained from http://www.gapminder.org/data/

.

.