Cody

Problem 42504. Data Regularization

Provided is an m-by-n integer data matrix A whose elements are drawn arbitrarily from a set S = [1,2,3,...,S] for any large integer number S > 1. The "arbitrary" manner of drawing integer numbers implies that each column of A might contain only a subset of integer numbers from S. Our objective is to regularize the data in A subject to the following rules:

For each column in A,

• The smallest number or numbers (if there are more than one such number) are mapped to 1;
• The 2nd-smallest number or numbers (if there are more than one such number) are mapped to 2;
• The k th-smallest number or numbers (if there are more than one such number) are mapped to k .

For example, S = [1:8] with S = 8. Suppose the input data matrix A is

A = [2  6
5  3
5  6
3  7]

Then the output matrix B is

B = [1  2
3  1
3  2
2  3]

Please try to avoid for or while loops. Vectorized code will be more appreciated.

Solution Stats

42.86% Correct | 57.14% Incorrect
Last solution submitted on Sep 24, 2019