Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从R中的线性回归预测单个值?_R_Data.table - Fatal编程技术网

如何从R中的线性回归预测单个值?

如何从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”。除了创建一个新的虚拟数据

我对美元价格与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
查看注释。