Home » excel » algorithm – Calculating cited half-life for articles in Excel

algorithm – Calculating cited half-life for articles in Excel

Posted by: admin April 23, 2020 Leave a comment

Questions:

Per Ana Andres, “[t]he cited half-life is the number of years, counting back from the current year, that account for 50 per cent of the total citations received by the journal in the current year.”

I am trying to calculate this using a formula in Excel. Assume I have data as follows:

2008 2009 2010 2011 Total
0    4    1    3    8

The article was published in 2008, the current year is 2011. In this case the cited half-life is 2, since you have to go back to 2010 to get (1+3) 4 (i.e. 50% of 8) citations.

How can I write a formula in Excel that calculates the half-life in this manner using data structured as above (i.e. each column is one year)?

How to&Answers:

Paste your values as you have in range A1:E2 and then use the array formula below. You apply array formula by pasting it into a cell and pressing left ctrl + left shift + enter then when yiu select the cell with formula the formula will be shown as if it was in curly brackets i.e. {=max…}.

=MAX(IF(MMULT(((A1:D1)>=TRANSPOSE(A1:D1))*A2:D2,ROW(INDIRECT("a1:a"&D1-A1+1))*0+1)>SUM(A2:D2)/2,TRANSPOSE(A1:D1)))

Briefly

1) creates vector of 1s of a length equal to the number of years

ROW(INDIRECT("a1:a"&D1-A1+1))*0+1

2) provides the vector of years to pic from

TRANSPOSE(A1:D1)

3) provides matrix to calculate cumulative sum

(A1:D1)>=TRANSPOSE(A1:D1))*A2:D2

EDIT: I have modified the formula a bit as before it had problems in cases when the half of score was not achievable in any of the years and solved a bit different problem (it was latd whe I published my answer). I also added description how to use an array formula. Please let me know have it worked.

EDIT2: there was unneccessary space afer SUM which caused #VALUE, it was automatically enetered by spellchecker on my tablet.

Answer:

You can get it with an auxilary row and the countif() function like this

        A        B        C        D        E
1       2008     =A1+1    =B1+1    =C1+1    Total
2       0        4        1        3        =SUM(A2:D2)
3       =B3+A2   =C3+B2   =D3+C2   =D2-E2/2 =COUNTIF(A3:D3;"<=0")

I don’t know a solution without such an xtra row.