【问题标题】:How to convert a "list" to "EUtilisSUmmary" class in R如何在 R 中将“列表”转换为“EUtilisSUmmary”类
【发布时间】:2017-11-07 06:25:56
【问题描述】:

我正在尝试在 R 的 RISmed 包中进行多个不同的术语搜索,如下所示:

library(RISmed)
library(rentrez)
library(dplyr)
search_topic<-c("KRAS AND MEK inhibitor","BRAF AND BRAF inhibitor")
search_query <- lapply((search_topic),EUtilsSummary, retmax=50, 
mindate=2000, maxdate=2017) 

搜索查询是一个列表,我的下一步是获取通过搜索词获得的 Pubmed ID。但是,当我尝试使用获取它时使用

QueryId(search_query)

我明白了

error:unable to find an inherited method for function ‘QueryId’ for signature ‘"list"’ 

我了解 QueryID 将在 EUtilisSummary 类上工作,因此 QueryID 函数不起作用。我尝试使用

转换它

as(search_query, "EUtilisSummary", strict=TRUE, ext)

但这失败了,错误是:

no method or default for coercing “list” to “EUtilisSummary”

如何将此列表对象转换为 EUtilisSummary 类?提前致谢!

【问题讨论】:

    标签: r text-mining pubmed


    【解决方案1】:

    lapply 返回一个对象列表,这些对象的类由调用的函数定义

    library(RISmed)
    library(rentrez)
    library(dplyr)
    search_topic <- c("KRAS AND MEK inhibitor","BRAF AND BRAF inhibitor")
    search_query <- lapply((search_topic),EUtilsSummary, retmax=50, 
                           mindate=2000, maxdate=2017) 
    

    在这种情况下,search_query 是一个列表 (class(search_query),其中包含类 EUtilsSummary class(search_query[[1]]) 的对象。

    要操作列表中的此类对象,只需将另一个 lapply 与可以将它们作为参数的函数一起使用:

    lapply(search_query, QueryId)
    #output:
    [[1]]
     [1] "29079711" "29067643" "28982179" "28982154" "28957417" "28938614" "28866094" "28807001" "28797845" "28783173"
    [11] "28775144" "28746882" "28619758" "28581516" "28574828" "28554329" "28551618" "28492898" "28459468" "28372922"
    [21] "28301591" "28248226" "28215705" "28178529" "28167505" "28154798" "28152546" "28062115" "28060183" "28002807"
    [31] "27997540" "27922010" "27876675" "27846317" "27834733" "27822414" "27821484" "27803104" "27793696" "27167191"
    [41] "27733477" "27699948" "27670374" "27496137" "27484466" "27469379" "27467210" "27441499" "27422710" "27399335"
    
    [[2]]
     [1] "29100459" "29098416" "29096034" "29094484" "29085667" "29084636" "29079332" "29074209" "29072975" "29070145"
    [11] "29066909" "29059158" "29054724" "29050517" "29050239" "29050218" "29048432" "29043205" "29040023" "29028954"
    [21] "29028788" "28994264" "28991513" "28986666" "28984520" "28984291" "28984141" "28982601" "28982154" "28981385"
    [31] "28979142" "28978720" "28976960" "28973166" "28963969" "28963614" "28961465" "28960564" "28959611" "28951457"
    [41] "28947956" "28939558" "28936920" "28931905" "28923537" "28923400" "28919996" "28918496" "28915798" "28893027"
    

    【讨论】:

      猜你喜欢
      • 2017-06-08
      • 1970-01-01
      • 1970-01-01
      • 2022-07-13
      • 1970-01-01
      • 2020-07-29
      • 2013-06-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多