r - 如何使用函数中包含的列表
问题描述
我敢肯定这是糟糕的功能设计,但这里......
我有一个函数可以将一些术语映射到其他一些术语。细节在这里不相关。
在函数中,我有一个字符列表。我想将此列表用于不同的目的。如何引用函数中包含的列表?
例如:
TermMapping<-function(param){
###The list I want to refer to
tofind <-
paste(
c(
"Ascending","Descending","Sigmoid","Rectum","Transverse",
"Caecum","Splenic","Ileum","Rectosigmoid",
"Ileocaecal","Hepatic","Colon","Terminal","Terminal Ileum",
"Ileoanal","Prepouch","Pouch","Anastomosis",
"Stomach","Antrum","Duodenum","Oesophagus","GOJ"
),
collapse = "|"
)
###something done to param here- details not included but it uses the list above.....
return(dataframe)
}
解决方案
我能想到的两个选择:
如果您需要该列表用于多种用途,为什么它在函数内部?您可以在函数外部定义列表(可能作为自己的函数),然后将列表作为参数传递。
您可以将列表作为函数的一部分返回。您的函数返回
dataframe
,因此您可以更改返回值以返回 df 和列表。TermMapping<-function(param){ ###The list I want to refer to tofind <- paste( c( "Ascending","Descending","Sigmoid","Rectum","Transverse", "Caecum","Splenic","Ileum","Rectosigmoid", "Ileocaecal","Hepatic","Colon","Terminal","Terminal Ileum", "Ileoanal","Prepouch","Pouch","Anastomosis", "Stomach","Antrum","Duodenum","Oesophagus","GOJ" ), collapse = "|" ) ###something done to param here- details not included but it uses the list above..... return(list(my_df = dataframe, myList = tofind)) }
推荐阅读
- python - Python n 维数组组合
- hibernate - 我正在尝试调用 db2 过程,但出现运行时错误 com.ibm.db2.jcc.am.SqlSyntaxErrorException
- php - Laravel 广播适用于一个用户
- python-3.x - 用 execl 重启进程
- python - 使用请求和会话正确验证 API 调用
- json - 如何验证 JSON 正文中的内容
- detox - 在 WebView 中定位元素
- javascript - Object.defineProperty 的 Set get 不能正常工作 undefined 被打印出来
- python - NoReverseMatch with arguments '(",)' in Django
- javascript - 将 OpenLayers 从 4.6.5 升级到 5.3.0 后不显示 TileWMS