首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dplyr::mutate使用外部函数-返回0

dplyr::mutate使用外部函数-返回0
EN

Stack Overflow用户
提问于 2020-05-28 21:45:22
回答 1查看 48关注 0票数 0

这是我第二次发帖,我希望这段代码更具可重复性。我正在尝试为每个关键字和PUBMED出版物的数量列出一个列表。我已经创建了一个使用Entrez库的函数。然而,到目前为止,如果手动处理该函数就可以工作,但是当我尝试在df上运行它时,它返回零。

代码语言:javascript
复制
##librarires
#install.packages("rentrez")
library(tidyverse)
library(rentrez)

keywords <- structure(list(keyword = c("ד×\231סקצ×\231×” 1 â\200“ גב", 
                                       "Netterâ\200\231s atlas (6th edition): Plates 171", "Grant's dissector (12 edition): pages 129-135", 
                                       "Back â\200“", "trapezius muscle", "deltoid muscle", "teres major/minor muscle", 
                                       "latissimus dorsi muscle", "serratus anterior/posterior superior/inferior muscle", 
                                       "levator scapulae", "rhomboid major/minor muscle", "erector spinae muscle", 
                                       "thoracolumbar fascia.", "Bone â\200“", "Clavicle", "acromial/sternal end", 
                                       "shaft body", "subclavian groove", "conoid tubercle", "trapezoid line"
)), row.names = c(NA, -20L), class = c("tbl_df", "tbl", "data.frame"))


articles_number <- function(trm) {
  trm<- paste(trm,"[All Fields]")
  pkg_search <- entrez_search(db="pubmed", 
                              term=trm
  )
  return(pkg_search$count) }
pubmed_count <- keywords %>%
  mutate(cnt = articles_number(keywords))

##As an example, running this function only on clavicle reruns a non zero number
articles_number("Clavicle")

在运行更大的数据集时,我有第二个问题,但我会在稍后上传。有什么想法吗?非常感谢并感谢您的帮助

EN

回答 1

Stack Overflow用户

发布于 2020-05-28 21:57:34

有两个问题。第一个是打字错误。您的keywords数据框没有名为keywords的列。它名为keyword,因此mutate调用不会找到keywords。其次,您的articles_number函数没有矢量化,因此它需要放在sapply

代码语言:javascript
复制
pubmed_count <- keywords %>% mutate(cnt = sapply(keyword, articles_number))

pubmed_count
#> pubmed_count
#> # A tibble: 20 x 2
#>    keyword                                                cnt
#>    <chr>                                                <int>
#>  1 דיסקציה 1 – גב                                0
#>  2 Netter’s atlas (6th edition): Plates 171               0
#>  3 Grant's dissector (12 edition): pages 129-135            0
#>  4 Back –                                               273
#>  5 trapezius muscle                                      4129
#>  6 deltoid muscle                                        3216
#>  7 teres major/minor muscle                                10
#>  8 latissimus dorsi muscle                               4580
#>  9 serratus anterior/posterior superior/inferior muscle     0
#> 10 levator scapulae                                      1406
#> 11 rhomboid major/minor muscle                              4
#> 12 erector spinae muscle                                  335
#> 13 thoracolumbar fascia.                                 9228
#> 14 Bone –                                               212
#> 15 Clavicle                                              8946
#> 16 acromial/sternal end                                     9
#> 17 shaft body                                            1386
#> 18 subclavian groove                                        5
#> 19 conoid tubercle                                         15
#> 20 trapezoid line                                           1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62066274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档