2017-02-02 4 views
1

Wer Metagear für große Metaanalyse Daten Screening verwenden?Metagear effort_redistribute kann es nicht tun, was ich will

Ich versuche, 1% eines großen Datasets mit 2 Reviewer zu neuen Reviwer umzuverteilen. Kann 50:50 leicht umverteilen, versuchte mit Mühe = aber immer Fehler mit den String-Parametern (ist es 99,1,0) oder (98,1,1) usw. Getestet mit Vignette-Code und Beispiel-Dataset und erhalten Sie Folgendes. ...

# 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? 

Antwort

0

Ausführen des Codes, wie Sie es oben gegeben haben, geben Sie die folgende Fehler

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

weil effort_redistribute ein numerisches Argument erfordert. Wenn Sie die Anführungszeichen "" in der Nähe Ihres Prozentsatzes entfernen, wird das Problem gelöst, das Sie mit dem Vignettencode und dem Beispieldatensatz haben. Sie werden mit Christina 2, Patsy mit 2 und Luc mit 7 (insgesamt 11) enden.

Von dem, was ich von Ihrer Frage verstehe, scheint es, als ob Sie eine große Datenmenge haben, die bereits zwischen 2 Bewertungen verteilt wird. Sie würden Ihr Dataset mithilfe von Code ähnlich wie dies zunächst verteilen:

# 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) 

Bisher haben wir die Schiedsrichter geteilt 50:50 zwischen Reviewer1 und Reviewer2.

Wenn Sie nun effort_redistribute verwenden möchten, um einem neuen Prüfer 1% des Aufwands zuzuweisen, müssen Sie wählen, wessen Aufwand verteilt werden soll, Reviewer1 oder Reviewer2. In diesem Beispiel werde ich von Reviewer1 entfernen.

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 

diese Weise können Sie mit Reviewer1 am Ende werden, Reviewer2 und Reviewer3 mit 49%, 50% und 1% des Aufwands ist. Alternativ, wenn Sie 0,5% Aufwand von jedem Prüfer1 und Prüfer2 entfernen möchten, um Prüfer 3 insgesamt 1% Aufwand zu geben, können Sie zweimal hintereinander effort_redistribute verwenden, um 0,5% von jeder ursprünglichen Überprüfung zu verschieben und sie der neuen zuzuweisen ein.

Es wäre einfacher, nicht umverteilen zu müssen, und die Bemühungen 98: 1: 1 (oder wie auch immer Sie es wünschen) von Anfang an zuweisen, wenn Sie effort_distribute verwenden. Beachten Sie, dass der Vektor, der reviewers beschreibt, und der Vektor, der effort beschreibt, dieselbe Länge haben sollte, damit es funktioniert.

reviewers: Ein Vektor der Namen jedes Teammitglieds, das zusätzliche Arbeit übernehmen wird.

effort: Ein Vektor von Prozentsätzen verwendet, um Screening-Aufgaben unter jedem Teammitglied zuzuordnen. Wenn nicht explizit aufgerufen, wird davon ausgegangen, dass Aufwand gleichmäßig auf alle Mitglieder verteilt wird. Muss die gleiche Länge wie die Anzahl der Teammitglieder haben und auch 100 ergeben.

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