R:将公式作为第一个输入传递到函数中

R:将公式作为第一个输入传递到函数中,r,function,formula,R,Function,Formula,我试图根据我生成的df手动定义X,y,X\u的内容。但运行以下命令会导致优化出现错误: function (X, y, X_u = NULL, lambda = 0, lambda_entropy = 1, intercept = TRUE, init = NA, scale = FALSE, x_center = FALSE) 为什么将公式输入Class~。更改为X=X,y=y,X_=X_会导致错误?有人能告诉我在源代码中公式输入的使用位置吗 在源代码中,参数被传递到

我试图根据我生成的
df
手动定义
X,y,X\u
的内容。但运行以下命令会导致优化出现错误:

function (X, y, X_u = NULL, lambda = 0, lambda_entropy = 1, intercept = TRUE, 
          init = NA, scale = FALSE, x_center = FALSE) 

为什么将公式输入
Class~。
更改为
X=X,y=y,X_=X_
会导致错误?有人能告诉我在源代码中公式输入的使用位置吗

在源代码中,参数被传递到
预处理
。在该函数中,第一行是
if(is(X,“公式”)&is.data.frame(y)){
@user2554330我明白了!我将看一看
预处理
。谢谢。
function (X, y, X_u = NULL, lambda = 0, lambda_entropy = 1, intercept = TRUE, 
          init = NA, scale = FALSE, x_center = FALSE) 
y <- df$Class
X <- df[, -1]
ids <- which(is.na(y))
X_u <- X[ids, ]
class_erlr_manual <- EntropyRegularizedLogisticRegression(X = X, y = y, X_u = X_u, lambda=0.01,lambda_entropy = 100)
Error in optim(w, fn = loss_erlr, gr = grad_erlr, X, y, X_u, lambda = lambda,  : 
  initial value in 'vmmin' is not finite