【问题标题】:MturkR, R, automatically posting microbatchesMturkR,R,自动发布微批次
【发布时间】:2018-05-18 16:41:35
【问题描述】:

我是 MTurk 的新手,但对 R 有一定的了解。我是第一次使用 MTurkR 包,我正在尝试创建随着时间的推移在 MTurk 上发布的“微批处理”。我正在使用的代码可以在下面找到(XXXX 部分显然填充了正确的值)。我没有收到任何错误消息,代码运行,并在沙盒和真实中正确发布 HIT。但是,发布的 HIT 不会显示在 Sandbox Requester 帐户或真正的请求者帐户中,这意味着 - 据我了解 - 我无法评估在自动付款之前提交完成代码的工作人员。

谁能指出错误在哪里,我该如何查看 HIT? 谢谢。 克

##### Notes:
# 1) Change sandbox from TRUE to FALSE to run live (make sure to test in sandbox first!!)    

##### Step 1: Load library, set parameters

#### Load MTurkR library
library(MTurkR)
#### HIT Layout ID
# Layout ID for the choice task
# my_hitlayoutid = "XXXX"
# Layout ID for the choice task in the Sandbox
my_hitlayoutid = "XXXX"

#### Set MTurk credentials
Sys.setenv(    
  AWS_ACCESS_KEY_ID = "XXXX", 
  AWS_SECRET_ACCESS_KEY = "XXXX"
)

#### HIT parameters

## Run in sandbox?
sandbox_val <- "FALSE"

## Set the name of your project here (used to retrieve HITs later)
myannotation <- "myannotation"

## Enter other HIT aspects
newhittype <- RegisterHITType(
  title = "hope trial",
  description = "Description",
  reward = "2.5", 
  duration = seconds(hours = 1), 
  keywords = "survey, demographics, neighborhoods, employment",
  sandbox = sandbox_val
)

##### Step 2: Define functions

## Define a function that will create a HIT using information above
createhit <- function() {
  CreateHIT(    
    hit.type = newhittype$HITTypeId,
    assignments = 2,
    expiration = seconds(days = 30),
    annotation = myannotation,
    verbose = TRUE,
    sandbox = sandbox_val,
    hitlayoutid = my_hitlayoutid
  )
}

## Define a function that will expire all running HITs
## This keeps HITs from "piling up" on a slow day
## It ensures that A) HIT appears at the top of the list, B) workers won't accidentally accept HIT twice
# expirehits <- function() { 
#  ExpireHIT(
#    annotation = myannotation,
#    sandbox = sandbox_val
#  )
#}


##### Step 3: Execute a loop that runs createhit/expirehit functions every hour, and it will log the output to a file

## Define number of times to post the HIT (totalruns)
totalruns <- 2
counter <- 0

## Define log file (change the location as appropriate)
logfile <- file("/Users/kinga.makovi/Dropbox/Bias_Experiment/MTurk/logfile.txt", open="a")
sink(logfile, append=TRUE, type="message")

## Run loop (note: interval is hourly, but can be changed in Sys.sleep)
repeat {
  message(Sys.time())
  createhit()
  Sys.sleep(10)
  #expirehits()
  counter = counter + 1
  if (counter == totalruns){
    break
  }
}

## To stop the loop before it finishes, click the "STOP" button
## To stop logging, run sink()

【问题讨论】:

    标签: r mechanicalturk


    【解决方案1】:

    您无法在请求者网站中看到通过 API(通过 MTurkR 或其他方式)创建的 HIT。这是一个“功能”。您必须通过 MTurkR 访问 HIT(例如,SearchHITs()GetHIT())。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-21
      • 2015-08-07
      • 2013-02-08
      • 2014-06-24
      • 2017-09-16
      • 1970-01-01
      • 2018-12-16
      相关资源
      最近更新 更多