Let us simulate a dataset of 1 million students with given mean and sd.

`X = rnorm(1000000,61,20)`

Now let us Truncate the distribution between 0 and 100 and round to nearest integer and look at summary

```
X = X[X<=100 & X>= 0]
X= round(X,digits=0)
summary(X)
```

```
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.00 47.00 60.00 59.82 73.00 100.00
```

Let’s look at histogram of original marks

`hist(X ,breaks=50,main = "Original marks distribution")`

Now let’s look at percent of people with less than 33 marks

`mean(X<33)`

`## [1] 0.07850118`

Now let’s implement our moderation strategy where 16 added to every mark less than 78 and those greater than 95 left untouched

```
Y = X[X>=95] # subset greater than 95 not moderated
A = X[X<=78] # subset less than 78 all added 16 numbers
A=A+16
hist(A,breaks=50)
```

```
B=X[X>=79 & X <=95] # subset between 78 and 94 all made 95
B = rep(95,length(B))
Final = c(Y,A,B) # adding all subset again for final curve.
```

Generating histogram again of final marks post moderation

`hist(Final,breaks = 50, main="Final marks distribution")`

summary of inflated mark distribution

`summary(Final)`

```
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 16.00 63.00 76.00 74.66 89.00 100.00
```