Skip to content

Commit

Permalink
Added calculation of m-quotient (#69)
Browse files Browse the repository at this point in the history
* compute m-quotient

* reordered metrics

* added tests for m-quotient
  • Loading branch information
cicirello authored Mar 5, 2024
1 parent 7d5dd47 commit 59c3417
Show file tree
Hide file tree
Showing 9 changed files with 142 additions and 33 deletions.
1 change: 1 addition & 0 deletions .bibliometrics.config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"jsonOutputFile": "bibliometrics.json",
"firstPubYear": 1999,
"svgConfig": [
{
"background": "#010409",
Expand Down
22 changes: 17 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ This command line utility does the following:
* computes your w-index ([doi:10.1002/asi.21276](https://doi.org/10.1002/asi.21276)), hiding if equal to 0, and provided it is less than 100 ([reason for limitation later](#respect-google-scholars-robotstxt));
* computes your e-index ([doi:10.1371/journal.pone.0005429](https://doi.org/10.1371/journal.pone.0005429)), your r-index ([doi:10.1007/s11434-007-0145-9](https://doi.org/10.1007/s11434-007-0145-9)), and your a-index provided that your h-index is at most 100 ([reason for limitation later](#respect-google-scholars-robotstxt));
* computes your h-median provided that your h-index is less than 200 ([reason for limitation later](#respect-google-scholars-robotstxt));
* computes your m-quotient, if you configure the year of your first publication in the configuration file;
* generates a JSON file summarizing these bibliometrics;
* generates one or more SVG images summarizing these bibliometrics; and
* includes all bibliometrics that are non-zero by default, but enables user-configurable list of bibliometrics.
Expand Down Expand Up @@ -59,6 +60,9 @@ The bibliometrics utility computes the following bibliometrics:
* Most-cited paper: number of citations to the researcher's most-cited paper.
* [h-index](https://doi.org/10.1073/pnas.0507655102): the maximum h such that
the researcher's h most-cited papers have been cited at least h times each.
* m-quotient: h-index / n, the number of years since first publication, which
was introduced in the same article as the h-index itself as a way of adjusting
for length of publication history.
* [g-index](https://doi.org/10.1007/s11192-006-0144-7): the maximum g such
that the researcher's g most-cited papers have been cited an average of g
times each.
Expand Down Expand Up @@ -105,6 +109,7 @@ Here is a sample of the JSON summary also generated by the utility:
"h-median": 48,
"i10-index": 33,
"i100-index": 3,
"m-quotient": 1.0,
"most-cited": 228,
"o-index": 75,
"r-index": 42.3,
Expand All @@ -130,10 +135,13 @@ at the root of this repository: [.bibliometrics.config.json](https://github.com/
To generate the JSON summary of your bibliometrics, specify the filename (optionally with path)
via the `"jsonOutputFile"` field. If this field is not present, then no JSON file will be generated.

To compute the m-quotient, you must provide the year of your first publication in the `"firstPubYear"`
field. The bibliometrics utility does not attempt to scrape this from your Scholar profile.

To change the order that the bibliometrics appear in the SVG, or to explicitly exclude one or more
bibliometrics, you can use the `"include"` field. This field is an array of keys associated with the
various bibliometrics. If this field is not present, then the following default order is
used: `[ "total-cites", "five-year-cites", "most-cited", "h-index", "g-index", "i10-index", "i100-index", "i1000-index", "i10000-index", "w-index", "o-index", "h-median", "e-index", "r-index", "a-index" ]`. There is no
used: `[ "total-cites", "five-year-cites", "most-cited", "h-index", "g-index", "i10-index", "i100-index", "i1000-index", "i10000-index", "w-index", "o-index", "h-median", "m-quotient", "e-index", "r-index", "a-index" ]`. There is no
reason to use this field if the only thing you want to do is to exclude bibliometrics that have the
value 0. Such bibliometrics will be excluded by default. The list of keys for the bibliometrics to
include is case-insensitive.
Expand All @@ -153,11 +161,13 @@ channel, `#123`. You can also use SVG named colors, such as `white`, as well as
`rgba(56,139,253,0.4)`. If it is valid as a color in SVG, then it should work. The utility simply inserts
it for the relevant color within the SVG without validation.

Here is a sample `.bibliometrics.config.json` (using the default order of the bibliometrics):
Here is a sample `.bibliometrics.config.json` (using the default order of the bibliometrics,
and providing the year of first publication):

```JSON
{
"jsonOutputFile": "bibliometrics.json",
"firstPubYear": 1999,
"svgConfig": [
{
"background": "#010409",
Expand All @@ -177,9 +187,11 @@ Here is a sample `.bibliometrics.config.json` (using the default order of the bi
}
```

Here is another sample that generates three SVGs, overriding the default order at the top-level to exclude the
i10-index (and related indexes), and then overriding it again for one of the three SVGs to additionally exclude
the g-index, w-index, o-index, h-median, e-index, r-index, and a-index:
Here is another sample that generates three SVGs, overriding the default order at the top-level
to exclude the i10-index (and related indexes), and then overriding it again for one of the
three SVGs to additionally exclude the g-index, w-index, o-index, h-median, e-index, r-index,
and a-index. This example also does not specify "firstPubYear", which means that the m-quotient
won't be calculated:

```JSON
{
Expand Down
1 change: 1 addition & 0 deletions bibliometrics.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
"h-median": 48,
"i10-index": 33,
"i100-index": 3,
"m-quotient": 1.0,
"most-cited": 228,
"o-index": 75,
"r-index": 42.3,
Expand Down
2 changes: 1 addition & 1 deletion images/bibliometrics.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 59c3417

Please sign in to comment.