See my earlier comment in which I refer to the article "Generate a random sample from a mixture distribution."
proc iml;
call randseed(12345);
N = 100; /* sample size */
k = ceil(0.05*N); /* 5% of sample */
x = j(N, 1);
call randgen(x, "Normal", 0, 10); /* sample from N(0, 10) */
z = j(k, 1);
call randgen(z, "Normal", 0, 100); /* contamination from N(0, 100) */
idx = sample(1:N, k, "NoReplace"); /* k random elements */
x[idx] = z; /* overwrite with contaminated values */
... View more