首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用loop -R将字符串从列传递到函数

使用loop -R将字符串从列传递到函数
EN

Stack Overflow用户
提问于 2020-11-09 09:50:25
回答 1查看 73关注 0票数 1

我有一个包含大约10,000个物种的数据集。对于数据集中的每个物种,我想查询IUCN数据库中每个物种面临的威胁。我可以使用包rredlist中的rl_threats函数一次对一个物种执行此操作。下面是一个函数的例子,这个例子拉取北极兄弟会面临的威胁,并将它们分配给对象test1 (key是一个字符串,用作使用IUCN API的密码,保持不变,parse应该是真的,但不重要)。

代码语言:javascript
复制
    test1<-rl_threats(name="Fratercula arctica", 
                  key = '1234',
                  parse = TRUE)

我想要获得我的数据集中所有10,000个物种的威胁。我的想法是使用一个循环,该循环将我的数据集中的名称传递到rl_threats命令的name=“”字段中。这是我试图构建的一个基本循环,但我得到了很多错误:

代码语言:javascript
复制
   for (i in 1:df$scientific_name) {
    rl_threats(name=i, 
             key = '1234',
             parse = TRUE)
    } 

我如何将scientific_name列中的物种名称传递到rl_threats函数中,使R循环遍历并为每个物种拉出威胁?

谢谢你。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-09 09:53:30

您可以创建一个列表来存储输出。

代码语言:javascript
复制
result <- vector('list', length(df$scientific_name))
for (i in df$scientific_name) {
  result[[i]] <- rl_threats(name=i, key = '1234', parse = TRUE)
}

您还可以使用lapply

代码语言:javascript
复制
result <- lapply(df$scientific_name, function(x) rl_threats(name=x, key = '1234', parse = TRUE))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64744922

复制
相关文章

相似问题

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