t-6ren">
gpt4 book ai didi

r - 检查参数是否通过但不存在

转载 作者:行者123 更新时间:2023-12-02 08:33:41 25 4
gpt4 key购买 nike

在我的函数中,我想确定作为参数传递的变量是否存在,例如:

test <- function(input) {
out="nothing";
if (exists(input)) {out="input exists";} else {out="input does not exist";}
return(out);
}

myvar=0;

test(myvar); # I expect "input exists"
test(blablabla); # I expect "input does not exist"

有什么办法可以实现这种行为吗?

最佳答案

这是一种方式

test <- function(input) {
varname <- deparse(substitute(input))
out="nothing";
if (exists(varname)) {out="input exists";} else {out="input does not exist";}
return(out);
}

此处使用deparse/substitute 组合将参数值转换为字符串。然后我们可以使用标准的 exists() 来查看是否存在具有该名称的变量。我得到了

> test(myvar);     # I expect "input exists"
[1] "input exists"
> test(blablabla); # I expect "input does not exist"
[1] "input does not exist"

关于r - 检查参数是否通过但不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23923046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com