Obsidian | Level 7

## How to print the remaining data after remove the outliers.

PROC IML;
RESET NONAME;

START BP(A) GLOBAL (NY,NCOL,RMEAN,VARX,N);
RMEAN=J(NCOL(NY),1,0);
Q1=RMEAN;
Q3=RMEAN;
LOWFEN=RMEAN;
UPPFEN=RMEAN;
LEFT=RMEAN;

F=1;
M=0;

DO J=1 TO NCOL(NY);

SAMP=NY[J];
L=M+SAMP;
TEMP=A[F:L];

Q=quartile (TEMP);
Q1[J]=Q[2,1];
Q3[J]=Q[4,1];
LEFT=TEMP[LOC(LOWFEN[J]<TEMP & TEMP<UPPFEN[J])];

M=L;
F=F+SAMP;

END;

PRINT LEFT;

FINISH;

********cubaan menggunakan data yg dijana*******;

NY = {11 11 11};
A = {5,8,7,3,9,4,3,29,5,6,7,
3,2,6,4,14,4,7,6,9,3,4,
9,9,8,7,10,11,27,12,15,17,16};

RUN BP(A);

QUIT;

Here, I wish to print matrix free from outliers for three group as the LOWFEN and UPPFEN are the fences to detect outliers and coding LEFT suppose the matrix that have been free from outliers.

1 ACCEPTED SOLUTION

Accepted Solutions
Obsidian | Level 7

## Re: How to print the remaining data after remove the outliers.

Thank you so much.

2 REPLIES 2
Barite | Level 11

## Re: How to print the remaining data after remove the outliers.

If you move PRINT LEFT inside the DO loop then it will execute 3 times, once for each group.

Obsidian | Level 7

## Re: How to print the remaining data after remove the outliers.

Thank you so much.

From The DO Loop