r - 是否有重复创建对象的 R 函数?
问题描述
我有一个数据框(尽管我不认为我拥有的源对象类型很重要),其中包含 51 个我想获取路径信息的基因列表(使用 rWikiPathways,但是,这可以是也适用于更普遍的问题)。
我想使用从 rWikiPathways 检索到的信息为这 51 个基因中的每一个创建一个对象。
我一直在尝试使用 for 循环、分配和粘贴函数,但没有什么能像我想要的那样真正起作用,所以我最终将这行代码复制了 51 次:
pathway.gene.1 <- findPathwaysByXref(genes$Encode.ID[1], "En")
pathway.gene.2 <- findPathwaysByXref(genes$Encode.ID[2], "En")
...
pathway.gene.51 <- findPathwaysByXref(genes$Encode.ID[51], "En")
请注意,“...gene.1”和“Encode.ID[1]”都从 1 变为 51。
必须有一种方法可以自动执行此操作...我是初学者,无法真正实现。
那里有任何提示吗?
Cheerio,圭多
解决方案
也许你需要list2env
list2env(setNames(Vectorize(findPathwaysByXref)(genes$Encode.ID,"En"),paste0("pathway.gene.",1:51)),.GlobalEnv)
或者
list2env(setNames(lapply(genes$Encode.ID, findPathwaysByXref, "En"),paste0("pathway.gene.",1:51),.GlobalEnv)
说明:代码setNames(lapply(genes$Encode.ID, findPathwaysByXref, "En"),paste0("pathway.gene.",1:51)
为您提供从 获取的值的命名列表findPathwaysByXref
,并list2env
帮助您从列表到全局环境中生成具有给定名称的对象。
推荐阅读
- c - 如何解决ncurses菜单边框错位
- reactjs - 获取错误类型 any 不能分配给类型 never
- angular - 当 http 客户端请求完成时,Angular 决定跳出它的区域。为什么?
- elasticsearch - aggregation_execution_exception : 聚合顺序路径无效,子路径指向非单桶聚合
- flutter - Flutter:如何将文本字段与列的底部中心对齐?
- sql - 如果条件为真,如果有多个数据连接到一个 ID,是否可以停止 CASE?
- python - 使用python函数或方法制作命令行实用程序的最佳方法?
- java - Tomcat上多模块项目的Spring Boot外部配置
- c# - 使用多个连接和多个选择字段从 linq 获取最大日期
- android - 触摸事件被可组合列中的“空白空间”阻止