从公式中提取变量名称并使用它从列表中获取列

时间:2015-10-18 16:13:09

标签: r

我有一个公式对象(来自线性回归模型),如下所示: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",但我找不到任何有用的资源。

1 个答案:

答案 0 :(得分:1)

您应该能够将其转换为字符串

data[[toString(formula(model)[[2]])]]

另外,请查看terms(model)