我有一个公式对象(来自线性回归模型),如下所示:lpsa ~ x1 + x2
然后我使用模型来预测某些值,现在我想从数据集中检索正确的值来计算MSE,在这种情况下,这可以通过以下方式完成:
pred <- predict(model,data)
values <- data$lpsa
.... # calculate mse
现在我不想在我的函数中对lpsa进行硬编码,我尝试使用:
columname <- formula(model)[[2]] # x == lpsa
valrues <- data$columname
但它返回NULL。 typeof(x)
是"symbol"
,但我找不到任何有用的资源。
答案 0 :(得分:1)
您应该能够将其转换为字符串
data[[toString(formula(model)[[2]])]]
另外,请查看terms(model)