Cody

Problem 42504. Data Regularization

Created by Peng Liu in Community

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

44.44% Correct | 55.56% Incorrect
Last solution submitted on Jun 14, 2019

Problem Comments

Solution Comments