【发布时间】:2018-01-23 18:29:38
【问题描述】:
请参阅下面我对按照这些思路提出的上一个问题的参考。
我在 R 中运行库 taxize。Taxize 包含一个用于获取与科学名称 get_tsn() 关联的稳定数字的函数。
我可以在交互模式或非交互模式下运行它,这样我要么 分别提示或不提示在多个命中中进行选择。
互动:
> tax.num <- get_tsn("Acer rubrum", ask=TRUE)
Retrieving data for taxon 'Acer rubrum'
tsn target commonNames nameUsage
1 28728 Acer rubrum red maple accepted
2 28730 Acer rubrum ssp. drummondii NA not accepted
3 526853 Acer rubrum var. drummondii Drummond's maple accepted
...
More than one TSN found for taxon 'Acer rubrum'!
Enter rownumber of taxon (other inputs will return 'NA'):
非交互:
> tax.num <- get_tsn("Acer rubrum", ask=TRUE)
Retrieving data for taxon 'Acer rubrum'
Warning message:
> 1 result; no direct match found
我需要在交互模式下运行这个库,这样当有多个匹配项时我不会得到空结果。然而,照看这个脚本对于我的数据量来说是完全不现实的,这些数据有数百万个学名。因此,我想自动响应提示,以便答案始终为1。这可能是 99% 的案例的正确答案,并且最终仍会在 100% 的案例中导致下游的正确答案,原因可能超出了这个问题的范围。
因此,如何自动将响应始终为1?
我查看了this 问题并尝试相应地修改我的代码。
options(httr_oauth_cache=T)
tax.num <- get_tsn("Acer rubrum",ask=T)
但是,这给出了与上述交互模式相同的结果。
感谢您的帮助。
【问题讨论】:
-
taxize有一个关于以编程方式使用它的小插曲:cran.r-project.org/web/packages/taxize/vignettes/… -
@Nathan Werth 美丽!显然这是正确的答案。谢谢你。 tax.num
标签: r interactive non-interactive