gpt4 book ai didi

r - 如何接受不带引号的文本/字符参数

转载 作者:行者123 更新时间:2023-12-01 09:32:56 31 4
gpt4 key购买 nike

抱歉,如果问题不清楚。随意更改它。

所以基本上我试图找到一种方法,使函数的文本/字符串参数不需要引号。

foo  = function(x, y, data){
n1 = length(data[,x])
n2 = length(data[,y])
cat(n1, n1)
}

如果我使用以下代码

data(survey)
foo(Sex, Fold, survey)

我会收到一条错误消息。但如果我使用以下内容:

foo("Sex", "Fold", survey)

foo(1, 5, survey)

这个功能会给我我想要的。所以我想知道是否有任何方法可以构造函数,这样我就不需要在列名周围使用引号。谢谢!

最佳答案

好吧,这将适用于符号:

foo  = function(x,y, data){
n1 <- length(eval(substitute(x),data))
n2 <- length(eval(substitute(y),data))
cat(n1,n2)
}

如果您希望它也适用于带引号的变量名称和整数索引,您可以在开始时简单地检查 xy 一些简单的 if -else 分支。

但它带有标准警告,即 eval(substitute()) 成语使用起来可能很危险。 (您可能无法始终预测它在某些情况下不会如何工作,并且当它不工作时您可能无法意识到。)

关于r - 如何接受不带引号的文本/字符参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13040120/

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