0
require(RCurl)
RAW.API <- postForm(REDcap.URL, token=Redcap.token, content="record", 
       type="flat", format="csv", rawOrLabel="Label", 
       .opts=curlOptions(ssl.verifypeer=TRUE, cainfo=REDCap.crt, 
       verbose=FALSE))

data <-   read.table(file = textConnection(RAW.API), header = TRUE, 
          sep = ",", na.strings = "", stringsAsFactors = FALSE)

我正在使用这样的代码将数据从 Redcap 提取到 R 中。问题是在处理我的案例 >19,000 条记录的大型数据集时,它需要花费大量时间,甚至有时会中止。有没有办法增强上面的代码,或者可以用日期对数据进行子集化。

4

1 回答 1

2

考虑让现有的 R 包之一处理一些低级代码。REDCapR和redcapAPI将数据返回为data.frame. 它们是由两个独立的团队开发的,但我们为彼此的软件包做出贡献并经常交流。

关于您的具体情况,我怀疑包裹的“批处理”会对您有所帮助。在幕后,两个包都检索数据的子集,然后将它们附加在一起,然后返回统一的data.frame. 目前批处理并没有使整体操作更快,但它大大有助于避免超时

对于一般建议,REDCapR 在CRAN上有一些小插曲,redcapAPI 有一个wiki

@Benjamin还有什么需要补充的吗?

于 2014-09-26T19:59:40.037 回答