gpt4 book ai didi

r - 如何编写函数来计算 R 中的 H 指数?

转载 作者:行者123 更新时间:2023-12-01 09:30:46 24 4
gpt4 key购买 nike

我是 R 的新手,正在寻找计算 h 指数的方法。

H 指数是量化科学生产力的常用指标。形式上,如果 f 是对应于每个出版物的引用次数的函数,我们计算 h 指数如下:

首先,我们将 f 的值从最大值到最小值排序。然后,我们寻找最后一个f大于或等于该位置的位置(我们称这个位置为h)。

例如,如果我们有一位研究人员发表了 5 篇论文 A、B、C、D 和 E,分别被引用了 10、8、5、4 和 3 次,则 h 指数等于 4,因为第 4 篇论文有 4 次引用,而第 5 篇只有 3 次。相比之下,如果相同的出版物有 25、8、5、3 和 3 次引用,则索引为 3,因为第四篇论文只有 3 次引用。

谁能建议更聪明的方法来解决这个问题

a <- c(10,8,5,4,3)

我希望 h 索引值的输出为 4。

最佳答案

假设输入已经排序,我会使用这个:

tail(which(a >= seq_along(a)), 1)
# [1] 4

当然,你可以把它放在一个小函数中:

h_index = function(cites) {
if(max(cites) == 0) return(0) # assuming this is reasonable
cites = cites[order(cites, decreasing = TRUE)]
tail(which(cites >= seq_along(cites)), 1)
}

a1 = c(10,8, 5, 4, 3)
a2 = c(10, 9, 7, 1, 1)

h_index(a1)
# [1] 4

h_index(a2)
# [1] 3

h_index(1)
# [1] 1

## set this to be 0, not sure if that's what you want
h_index(0)
# [1] 0

关于r - 如何编写函数来计算 R 中的 H 指数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56245315/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com