【发布时间】:2019-08-22 21:01:04
【问题描述】:
我从Formula with dynamic number of variables 知道,我可以使用 as.formula 进行动态回归,或者使用 paste 在公式中包含大量变量
#This Works:
glm(as.formula(paste0("vs~am")) , mtcars , family = binomial)
我正在尝试使用 data.table,因为我正在使用大型 data.set。我从Using data.table to create a column of regression coefficients 知道,我可以在 i 参数中运行回归模型
#So Does This:
m <- data.table( mtcars )
m[ , glm(vs~am, family = binomial) ]
我似乎无法弄清楚如何在 data.table 中使用 as.formula。我正在尝试将很多列作为自变量。
#This breaks
m[ , glm(as.formula(paste0("vs~am")), family = binomial) ]
【问题讨论】:
-
也许:
m[ , glm(eval(parse(text="vs~am")), family = binomial)]或m[ , glm(eval(substitute(as.formula("vs~am"))), family = binomial)]或m[ , glm(eval(expression(as.formula("vs~am"))), family = binomial)]或m[ , glm(eval(quote(as.formula("vs~am"))), family = binomial)]另请参阅 stackoverflow.com/questions/24833247/…
标签: r data.table