Metagear effort_redistribute不能让它做我想做的事

时间:2017-02-02 00:49:03

标签: r metadata

任何人使用Metagear进行大型元分析数据筛查?

我试图将1%的大型数据集重新分配给2位审稿人,以及新版本。可以轻松地重新分配50:50,尝试使用effort =但不断使用字符串参数(是99,1,0)或(98,1,1)等获得错误。使用晕影代码和示例数据集进行测试并获得以下内容。 ...

    # load package
    library(metagear)

    # load a bibliographic dataset with the authors, titles, and abstracts of multiple study references
    data(example_references_metagear)

    #initialise refs
    theRefs <- effort_initialize(example_references_metagear)

    # randomly distribute screening effort to a team, but with Luc handeling      80% of the work
    theTeam <- c("Christina", "Luc")
    theRefs_unscreened <- effort_distribute(theRefs, reviewers = theTeam,    effort = c(20, 80))

    #results in christina with 2 papers, luc with 9

    #give a small amount of work to new reviewer, patsy 
    theRefs_Patsy <- effort_redistribute(theRefs_unscreened,
                                 reviewer = "Luc",
                                 remove_effort = "20", # move 20% of Luc's work to Patsy
                                 reviewers = c("Luc", "Patsy")) # team members loosing and picking

    #results in christina with the same 2 papers, luc with 5 and patsy with 4
    #shouldn't end up with chris 2, luc with 8, patsy with 2? 

1 个答案:

答案 0 :(得分:0)

按照上面的说明运行代码会出现以下错误

Error in remove_effort/(number_reviewers - 1) : 
  non-numeric argument to binary operator

因为effort_redistribute需要数字参数。删除引号&#34;&#34;来自您的百分比将解决您使用插图代码和示例数据集时遇到的问题。克里斯蒂娜最终有2人,帕齐有2人,卢克有7人(总共11人)。

根据我对您的问题的理解,您似乎拥有一个已在两位评论者之间分发的大型数据集。您最初将使用与此类似的代码分发数据集:

# load package
library(metagear)

# load a bibliographic dataset with the authors, titles, and abstracts of multiple study references
data(your_large_dataset)

#initialise refs
theRefs <- effort_initialize(your_large_dataset)

# randomly distribute screening effort to a team, with Reviewer1 and Reviewer2 equally sharing the work.
OriginalTeam <- c("Reviewer1", "Reviewer2")
theRefs_unscreened <- effort_distribute(theRefs, reviewers = OriginalTeam)

到目前为止,我们在Reviewer1和Reviewer2之间将参考值分为50:50。

现在,如果您想使用effort_redistribute将1%的工作量分配给新的审稿人,则必须选择分发人员,Reviewer1或Reviewer2。在此示例中,我将从Reviewer1中删除。

theRefs_New <- effort_redistribute(theRefs_unscreened, 
                                 reviewer = "Reviewer1",
                                 remove_effort = 1, # move 1% of Reviewer1's work to new reviewer, Reviewer3
                                 reviewers = c("Reviewer1", "Reviewer3")) # team members loosing and picking up work

通过这种方式,您将分别以49%,50%和1%的努力结束Reviewer1,Reviewer2和Reviewer3。 或者,如果您想从每个Reviewer1和Reviewer2中删除0.5%的工作量,以便为Reviewer 3提供总共1%的工作量,您可以连续两次使用effort_redistribute,从每个原始审核中移动0.5%并分配新的。

根本不需要重新分配,并且在使用effort_distribute时从头开始分配工作98:1:1(或者你想要的其他工作)会更容易。请记住,为了使其起作用,描述reviewers的向量和描述effort的向量应该是相同的长度。

reviewers:每个团队成员的名字矢量,将承担额外的工作。

effort:用于在每个团队成员之间分配筛选任务的百分比向量。如果没有明确调用,则假定努力在所有成员之间平均分配。必须与团队成员的数量相同,并且总和为100。

Team_vector <- c("Reviewer1", "Reviewer2", "Reviewer3")
Effort_vector <- c(98, 1, 1)
theRefs_distributed <- effort_distribute(theRefs, reviewers = OriginalTeam, effort = Effort_vector)