Smooths data' by replacing each element with the median of it, its two left<br> neighbors and its two right neighbors. The ends are handled by duplicating the<br> end elements. This function is not destructive; it returns a list the same<br> length as
data,' which should be a sequence of numbers.