如何预测未来的值而不是已知的列?

时间:2016-02-14 08:45:36

标签: r dataframe lm predict

我正在尝试预测R中data.frame中的未来值,但我仍然得到与我预测的列相同的数字。这是代码 -

df=read.csv(file="D://Users/me/Documents/df.csv", header=FALSE, row.names=NULL)

df <- data.frame(t(df))

df <- df[-c(21),]

fit <- lm(X1~., data=df)
predict(fit)

预测的值如下 -

V1  V2  V3  V4  V5  V6  V7  V8  V9 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20 
4   8  13  16  19  24  26  31  34  37  40  42  46  50  56  58  59  64  72  80 

这些数字与X1列中的数字完全相同。我正在尝试预测下一列(包括X1)以及概率。当我plogis(predict(fit))时,我得到以下内容。

   V1        V2        V3        V4        V5        V6        V7        V8        V9       V10 
0.9820138 0.9996646 0.9999977 0.9999999 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 
  V11       V12       V13       V14       V15       V16       V17       V18       V19       V20 
1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 

所以,正如你所看到的,它看起来有点像预测,但概率是如此之高,以至于数字与列完全匹配。

如何预测下一栏?然后如何在此之后预测列?等

1 个答案:

答案 0 :(得分:2)

你在做什么:

从csv文件加载数据

df=read.csv(file="D://Users/me/Documents/df.csv", header=FALSE, row.names=NULL)

转置您已加载的内容

df <- data.frame(t(df))

删除第21行

df <- df[-c(21),]

在前一个数据框上拟合线性回归模型,其中DV为X1,并使用所有剩余变量作为预测变量

fit <- lm(X1~., data=df)

调用函数预测模型

predict(fit)

在R中,当你做最后一个时,你告诉R预测用于适合你原始模型的数据点。这通常是验证培训结果的一种方法。如果要预测新值(新数据集),则必须使用要预测的新数据指定数据集

predict(fit, newdata = myNewDF)

此myNewDF应该是一个包含所有变量的数据框,除了您尝试预测的X1之外。

我希望它有所帮助