r - 将 2 个变量映射在一起,在函数中转换用户输入
问题描述
我已经将一组名称与一组 ID 号匹配并将其存储在一个 tibble 中......当我编写我的函数时,我需要让用户输入名称或 ID 号......但是内容函数内部只能接受ID号,如何将输入的名称转换为该函数内部的ID?
如果用户在函数中输入“Eagles”,我需要该函数能够将其转换为相应的 ID 3,以便能够执行需要执行的操作。
任何想法将不胜感激。
解决方案
我们可以使用它match
来查找位置并根据该位置索引提取相应的“id”
f1 <- function(dat, str1) {
with(dat, id[match(str1, teamCommonName)])
}
-测试
f1(franchise.list, 'Eagles')
如果这不是固定匹配,即输入仅匹配列中元素的子字符串,请使用grep/grepl
f2 <- function(dat, str1) {
with(dat, id[grep(str1, teamCommonName)])
}
推荐阅读
- ruby-on-rails - 覆盖 Rails API 中错误的默认 json 格式
- docker - Docker 变量范围
- python - 如何逐行反转文件?
- regex - 如何使用正则表达式来删除名称为 YEAR-MONTH-DAY 的文件
- python - 如何使用 Python 打开 Cmd 然后在新的 Cmd 中打开一个文件 - Windows
- html - SVG 剪辑路径来创建“手绘”div - 兼容性问题和替代方案?
- android - 同一设备出现多个 MAC 地址
- authentication - 在 Google Cloud AutoML 上向其他用户提供访问权限时出错
- sorting - ls 命令,默认(字母)排序顺序
- string - VBA 字符串搜索循环 - 返回匹配列表