2017-02-02 3 views
1

큰 메타 분석 데이터 스크리닝에 Metagear를 사용하는 사람은 누구입니까?Metagear effort_redistribute가 원하는 것을 수행 할 수 없습니다.

2 명의 리뷰어가있는 대용량 데이터 세트의 1 %를 새로운 개정판에 재배포하려합니다. 50:50을 쉽게 재분할 할 수 있지만 노력을 사용하여 시도했지만 문자열 매개 변수 (99,1,0) 또는 (98,1,1) 등으로 오류가 계속 발생합니다. 비 네트 코드 및 예제 데이터 세트를 사용하여 테스트 한 후 다음을 얻습니다. ... 당신이 effort_redistribute가 숫자 인수를 필요로하기 때문에 다음과 같은 오류 당신에게

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

을 줄 것이다 위를 주어진대로

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

답변

0

코드를 실행합니다. 백분율 주변에서 따옴표를 제거하면 비 네트 코드 및 예제 데이터 세트의 문제가 해결됩니다. 크리스티나는 2, 패티는 2, 루크는 7 (총 11)이됩니다.

귀하의 질문에 대한 이해를 바탕으로 이미 2 명의 검토 자간에 분산되어있는 대형 데이터 집합이있는 것으로 보입니다.

# 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 %의 노력을 할당하려는 경우 검토 자 1 또는 검토 자 2를 배포 할 사람을 선택해야합니다. 이 예에서는 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)