[R] the quantile function and problems.
Uwe Brauer
oub @end|ng |rom m@t@ucm@e@
Thu Jul 14 14:58:17 CEST 2022
Hi
I am very acquainted with R. I use it occasionally via the org-babel library of GNU emacs.
I wanted to check the first, second and third quartiles of the scientific science index JCR
https://support.clarivate.com/ScientificandAcademicResearch/s/article/Journal-Citation-Reports-Quartile-rankings-and-other-metrics?language=en_U
S
Its criterion is
#+begin_src
| Quartil | range | |
| ---------+------------------+---------------------------------------|
| Q1 | 0.0 < Z \leq 0.25 | Highest ranked journals in a category |
| Q2 | 0.25 < Z \leq 0.5 | |
| Q3 | 0.5 < Z \leq 0.75 | |
| Q4 | 0.75 < Z | Lowest ranked journals in a category |
#+end_src
Z=(X/Y)
Where X is the journal rank in category and Y is the number of journals in the category.
Now I have a list of 267 journals.
What turns me crazy is that the way R, matlab and the JCR calculate the quartiles gives different results.
Here is a table
#+begin_matlab :exports both :eval never-export :results output latex
#+RESULTS:
| quartil-limit (last member) | | floor_Rlang | jcr | jcr_check | floor_check |
|-----------------------------+----+-------------+-----+-----------+-------------|
| 67.5 | Q1 | 67 | 66 | 0.2472 | 0.2509 |
| 134 | Q2 | 134 | 133 | 0.4981 | 0.5019 |
| 200.5 | Q3 | 200 | 200 | 0.7491 | 0.7491 |
| 267 | | 267 | 267 | 1 | 1 |
#+TBLFM: $5=$4/267::$6=$3/267
#+end_matlab
I calculated using R (I don't provide the vector from 1 to 267)
#+begin_src R :colnames t :var t1=jcr22
quantile(t1$Data,c(1/4,1/2,3/4,1))
#+end_src
#+begin_src
#+RESULTS:
| x |
|-------|
| 67.5 |
| 134 |
| 200.5 |
| 267 |
#+end_src
So you see the problem with Q1 and Q2.
On top of that matlab gives
#+begin_src matlab :exports results :eval never-export :results output latex
format short
x=1:267;
q1 = quantile(x,1/4);
q2 = quantile(x,1/2);
q3 = quantile(x,3/4);
Q=[q1; q2; q3];
sprintf('|%g| \n', Q)
#+end_src
#+RESULTS:
#+begin_export latex
|67.25|
|134|
|200.75|
#+end_export
Which is also slightly different from R.
Can anybody enlighten me please?
Thanks and regards
Uwe Brauer
--
I strongly condemn Putin's war of aggression against the Ukraine.
I support to deliver weapons to Ukraine's military.
I support the ban of Russia from SWIFT.
I support the EU membership of the Ukraine.
More information about the R-help
mailing list