3

最初の 2 つの呼び出しはglm正しく機能しますが、最後の呼び出しはエラーをスローします。

数式に文字列を使用し、サブセットも指定したい場合、既知の回避策はありますか? ユースケースは、生の数式をラップおよびラップ解除せずに、独自の関数で数式を文字列として渡したい場合です。

library(ISLR)
foo =function() {
train=sample(10000, 5000, replace=F)
# both work
glm.fit = glm('default~income + balance', data=Default, family=binomial)
glm.fit = glm(default~income + balance, data=Default, family=binomial, subset=train)

# Does not work.
#glm.fit = glm('default~income + balance', data=Default, family=binomial, subset=train)
}
foo()

エラーは次のようになります

Error in eval(expr, envir, enclos) : object 'train' not found              
Calls: foo ... eval -> model.frame -> model.frame.default -> eval -> eval  
Execution halted                                                           

更新:関数内の問題にすぎないように見えるため、関数内に例を入れました。

4

0 に答える 0