Statistical programming, matrix languages, and more

How to print the remaining data after remove the outliers.

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 7
Accepted Solution

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;
RMAD=RMEAN;
MADN=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];
RMAD[J]=MAD(TEMP,"MAD");
MADN[J]=MAD(TEMP,"NMAD");
LOWFEN[J]=Q1[J]-(1.44*MADN[J]);
UPPFEN[J]=Q3[J]+(1.44*MADN[J]);
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.


Accepted Solutions
Solution
3 weeks ago
Occasional Contributor
Posts: 7

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

Posted in reply to IanWakeling

Thank you so much.

View solution in original post


All Replies
Regular Contributor
Posts: 155

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.

Solution
3 weeks ago
Occasional Contributor
Posts: 7

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

Posted in reply to IanWakeling

Thank you so much.

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 164 views
  • 0 likes
  • 2 in conversation