首页 > 解决方案 > 将 2 个变量映射在一起,在函数中转换用户输入

问题描述

我已经将一组名称与一组 ID 号匹配并将其存储在一个 tibble 中......当我编写我的函数时,我需要让用户输入名称或 ID 号......但是内容函数内部只能接受ID号,如何将输入的名称转换为该函数内部的ID?

匹配值的小标题

如果用户在函数中输入“Eagles”,我需要该函数能够将其转换为相应的 ID 3,以便能够执行需要执行的操作。

任何想法将不胜感激。

标签: rapi

解决方案


我们可以使用它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)])
   }

推荐阅读