上下文是一个R6类,带有一个名为" jsonResult"的插槽。 在这个类中,有一个执行GET请求并处理结果的方法。
在这种方法中," jsonResult"使用" self $ jsonResult"符合R6语法。
这里我已经将fromJSON()应用于HTTP响应以生成列表。 基本案例是一个很好的列表,请求得到了我想要的。 当我尝试通过sapply()清理它时,它会删除数据,就像它是null一样。
以下是代码:
> print(jsonResult)
[[1]]
InputValue KEGG Pathway ID
"Psme2b-ps" "mmu03050//mmu04612"
[[2]]
InputValue KEGG Pathway ID
"Psmb10" "mmu03050"
> dput(jsonResult)
list(structure(c("Psme2b-ps", "mmu03050//mmu04612"), .Names = c("InputValue",
"KEGG Pathway ID")), structure(c("Psmb10", "mmu03050"), .Names = c("InputValue",
"KEGG Pathway ID")))
> jsonResult <- sapply(self$jsonResult,
FUN=function(x) {
x[sapply(x, is.null)] <- NA
unlist(x)
})
> print(jsonResult)
list()
> dput(jsonResult)
list()
答案 0 :(得分:0)
删除&#34; self&#34;修复它,因为,令人尴尬的是,我之前删除了&#34; jsonResult&#34;来自类定义中的槽,因为它没有在别处使用。因此,&#34;自我$ jsonResult&#34;是对在编译和执行期间静默失败的不存在属性的调用。