# comparison of the datasets

2 visualizzazioni (ultimi 30 giorni)
MatLab Code N il 9 Apr 2019
Commentato: Andrei Bobrov il 10 Apr 2019
Hi,
In the attached excel file, there are two different sheet (X_val and range_val). The X_val sheet contains a series of numbers. The range_val sheet contains R1 and R2 columns which are the lower and higher numbers of a range and the third column in range _val is a X-Id of the repective range. I want a loop which will check folloing stuffs:
1. Check each values in X-val to see if it is a number which lies bettwen the numbers in range_val column 1 and 2.
2. if any x-val is a number lying between range_val column 1 and 2, then create a column in X-val and write the corresponding X_ID.
3. if any-number is not in a required range, then just put NaN next to the X-val.
the final desired output should be a excel sheet which look like:
X-val X_ID
2.11 NaN
3.05 NaN
4.09 NaN
5.6 c
2.5 NaN
6 c
4.2 b
8.9 h
25 NaN
Note: I have a long dataset, given example is just a part of it.
Thanks!!
##### 0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

### Risposta accettata

Andrei Bobrov il 9 Apr 2019
Modificato: Andrei Bobrov il 9 Apr 2019
R12 = unique([T2.R1;T2.R2+eps(1e3)]);
C = categorical(repmat({'NoN'},numel(R12),1));
[lo,ii] = ismember(R12,T2.R1);
C(lo) = T2.X_ID(ii(lo));
out = table(T.X,discretize(T.X,[-inf;R12;inf],C([end,1:end])),'v',{'X','X_ID'});
##### 2 CommentiMostra NessunoNascondi Nessuno
MatLab Code N il 9 Apr 2019
Thanks!
Guillaume il 9 Apr 2019
Well, that's a bit complicated!

Accedi per commentare.

### Più risposte (1)

Guillaume il 9 Apr 2019
Modificato: Guillaume il 9 Apr 2019
I don't see why 4.2 should get a 'b' id.
[destrow, idrow] = find(X_val.X >= range_val.R1' & X_val.X <= range_val.R2');
X_val.X_ID(destrow) = range_val.X_ID(idrow)
Note that this leaves empty the cells that don't match instead of putting NaN in them. In general, it's not a good idea to mix text and numbers (even NaN) in the same column.
##### 2 CommentiMostra NessunoNascondi Nessuno
MatLab Code N il 9 Apr 2019
Thanks!
Andrei Bobrov il 10 Apr 2019
+1

Accedi per commentare.

### Categorie

Scopri di più su Spreadsheets in Help Center e File Exchange

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by