如何从R中的线性回归预测单个值?
我对美元价格与GDPPC进行了线性回归,如下所示:如何从R中的线性回归预测单个值?,r,data.table,R,Data.table,我对美元价格与GDPPC进行了线性回归,如下所示: r = lm(dollar_value ~ GDPPC, prices_gdp) (prices\u gdp是一个数据表,如果需要的话) 我现在可以使用predict基于data.table轻松生成一组值。但我想做的是(为了在图表上绘制一条geom_abline)在GDPPC为零时计算美元价值,并将其作为类似的数字返回 这给了我一个错误:eval(predvars、data、env)中的错误:找不到对象“GDPPC”。除了创建一个新的虚拟数据
r = lm(dollar_value ~ GDPPC, prices_gdp)
(prices\u gdp
是一个数据表
,如果需要的话)
我现在可以使用predict
基于data.table
轻松生成一组值。但我想做的是(为了在图表上绘制一条geom_abline
)在GDPPC为零时计算美元价值,并将其作为类似的数字返回
这给了我一个错误:
eval(predvars、data、env)中的错误:找不到对象“GDPPC”
。除了创建一个新的虚拟数据表(GDPPC=0作为它的唯一行,输入它,然后取出数字)之外,还有什么方法可以做到这一点呢?您可以创建相同的数据表,并将回归器GDPPC置为零。尝试:
predict(r, data.frame(GDPPC = 0))
您只需创建相同的数据表并将回归器GDPPC设置为零。尝试:
predict(r, data.frame(GDPPC = 0))
您可以创建一个函数,用于提取模型中术语的名称,并为您进行预测调用
preds <- function(o, vals){
#' Make prediction from simple linear regression
#'
#' Makes a prediction from a simple linear regression without
#' needing to manually create a data.frame. This will fail
#' on models with more than one predictor.
#' @param o The lm object to use to make predictions
#' @param vals The values to make predictions for.
dat <- setNames(data.frame(vals), as.character(formula(o)[[3]]))
predict(o, newdata = dat)
}
preds您可以创建一个函数,用于提取模型中术语的名称,并为您进行预测调用
preds <- function(o, vals){
#' Make prediction from simple linear regression
#'
#' Makes a prediction from a simple linear regression without
#' needing to manually create a data.frame. This will fail
#' on models with more than one predictor.
#' @param o The lm object to use to make predictions
#' @param vals The values to make predictions for.
dat <- setNames(data.frame(vals), as.character(formula(o)[[3]]))
predict(o, newdata = dat)
}
preds注释可以通过?preds
查看,如果您事先加载docstring包。如果您事先加载docstring包,则可以通过?preds
查看注释。