R-如何根据人工数据预测值

时间:2019-06-16 11:19:17

标签: r linear-regression

我对如何根据人工数据预测值感到困惑,所以这是我的问题。

我正在尝试使用以下数据进行简单的线性回归(预测):

this.state.checked

所以现在,我认为我必须做类似的事情:

set.seed(1)
x.train<-runif(1000,0,2)
eps.train<-rnorm(1000,sd=0.1)
y.train<-sin(x.train)+eps.train
model<-lm(y.train~x.train)
confint(modelo,level=0.95)

为澄清起见,我想从大小为1000的“原始”数据中以大小为100的测试数据进行预测。

我知道我在代码的第二部分做错了什么,但我自己无法解决。我将不胜感激。预先感谢。

1 个答案:

答案 0 :(得分:2)

线性回归模型中的变量称为x.train。例如,打印模型可以得到

model

Call:
lm(formula = y.train ~ x.train)

Coefficients:
(Intercept)      x.train  
     0.2246       0.4809  

但是,在传递testdata时,变量名称为runif.100..0..2.。为了避免出现警告消息,只需更改测试数据中的变量名称,然后重新运行预测即可。

colnames(x.test) = c("x.train") 
linear_prediction<-predict(model, x.test, interval="prediction")