【问题标题】:Extract variable name from formula and use it to get column from list从公式中提取变量名并使用它从列表中获取列
【发布时间】:2015-10-18 16:13:09
【问题描述】:

我有一个公式对象(来自线性回归模型),类似于: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" 但我没有找到任何帮助资源。

【问题讨论】:

  • 有一个可重现的例子会有所帮助。
  • 首先加载 ElemStatLearn 包,然后使用 data("prostate") 导入数据并保存并使用模型,例如lm(lpsa~ .,data=data

标签: r


【解决方案1】:

你应该可以把它转换成字符串

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

另外,看看terms(model)

【讨论】:

  • 谢谢 - 这个data[[string]] 是缺失的链接。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多