How do i select some columns that have maximum some values ?

Dear experiences
i have a data look like at the following in an excel file called (data.xls)
obs-name Var1 var2 var3 ..... varn
obs1 0.09 0.23 0.0 0.03
obs2 0.21 0.0 0.2 0.4
etc...
  • - i need to calculate the averages of variables values across all observation names ( every var column is independent from others).
  • - then eliminate all columns except (k) columns that have (k) largest average values ...
  • - for example if k=5 then result includes only observation names and 5 columns that involve largest 5 average values?
thanks for any participation ...

 Respuesta aceptada

T = readtable('data.xlsx');
dm = mean(T{:,2:end});
[~,ii] = sort(dm,'descend');
k = 2; % Let k = 2
Tout = T(:,[1,sort(ii(1:k)+1)]);

2 comentarios

thank you a lot, very smart solution
ahmed obaid
ahmed obaid el 4 de Abr. de 2017
Editada: ahmed obaid el 4 de Abr. de 2017

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Productos

Preguntada:

el 3 de Abr. de 2017

Editada:

el 4 de Abr. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by