Writing a function for the h-index

4 views (last 30 days)
I currently have a 365x11 double filled with integer values (ranging from roughly 100-0) that have been sorted in descending order in each column. The rows represent the values for percentage soil moisture each day for a year, and the columns represent this data for 11 consecutive years. I am trying to obtain a value for an h-index style metric for each column, this is obtained by finding the maximum value where f(i) >= i but i can't seem to quite work it out. Any help would be greatly appreciated, thank you in advance!
  1 Comment
dpb
dpb on 16 Nov 2021
Edited: dpb on 16 Nov 2021
What is f(i)?
Also seems peculiar to sort on the value -- the correlation with date is then destroyed entirely which would seem to make the value pretty-much meaningless.
Perhaps a working definition of an "h-index style metric" would help...and again, as always attaching the data file as a .mat file would give folks a chance to do something with data.

Sign in to comment.

Accepted Answer

the cyclist
the cyclist on 17 Nov 2021
My understanding of h-index comes from publishing, for example this definition.
If M is your data matrix, already sorted, then I believe this will do it:
hIndex = sum(M >= (1:size(M,1))');

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!