线性回归 - 将预测值附加到同一数据集
Linear Regression - Append Predicted Values to Same dataset
我最近开始使用 R 编程。这是我的数据集
WeekOfYear Production
1 202612
2 245633
3 299653
4 252612
5 299633
6 288993
7 254653
8 288612
9 277733
10 245633
我需要预测一年中剩余几周的“生产”值
relation<-lm(Production~WeekOfYear,dataset)
predict(relation,data.frame(WeekOfYear=c(11)))
如何将第 11 周到第 52 周(年底)的预测值附加到如下相同的数据集
WeekOfYear Production
1 202612
2 245633
3 299653
4 252612
5 299633
6 288993
7 254653
8 288612
9 277733
10 245633
11 predicted value
12 predicted value
等等
-或-
WeekOfYear Production Regression
1 202612 fitted value
2 245633 fitted value
3 299653 fitted value
4 252612 fitted value
5 299633 fitted value
6 288993 fitted value
7 254653 fitted value
8 288612 fitted value
9 277733 fitted value
10 245633 fitted value
11 predicted value
12 predicted value
13 predicted value
14 predicted value
.
.
52 predicted value
要附加您的值,您可以使用以下内容
test_data <- data.frame(WeekOfYear=11:52, Production = rep(0, 52-11+1))
test_data$Production <- predict(relation,test_data)
df = rbind(df, test_data)
我用 df
你的数据框定义的地方
df = data.frame(WeekOfYear =
c(1,2,3,4,5,6,7,8,9,10),
Production = c(202612,245633,299653,252612,299633,288993,254653,288612, 277733,245633))
这会给你这样的行为(情节组合得非常快)
我不确定你的数据是否遵循线性行为,但你可能更了解你的数据...
你可以这样做:
relation <- lm(Production ~ WeekOfYear, dat)
WeekOfYear <- 1:52
predict(relation, data.frame(WeekOfYear))
dat2 <- data.frame(WeekOfYear, regression = predict(relation, data.frame(WeekOfYear)))
merge(dat, dat2, by = 'WeekOfYear', all.y = TRUE)
结果:
WeekOfYear Production regression
1 1 202612 250517.6
2 2 245633 253864.1
3 3 299653 257210.5
4 4 252612 260557.0
5 5 299633 263903.5
6 6 288993 267249.9
7 7 254653 270596.4
8 8 288612 273942.9
9 9 277733 277289.3
10 10 245633 280635.8
11 11 NA 283982.3
12 12 NA 287328.7
----
51 51 NA 417840.9
52 52 NA 421187.4
我最近开始使用 R 编程。这是我的数据集
WeekOfYear Production
1 202612
2 245633
3 299653
4 252612
5 299633
6 288993
7 254653
8 288612
9 277733
10 245633
我需要预测一年中剩余几周的“生产”值
relation<-lm(Production~WeekOfYear,dataset)
predict(relation,data.frame(WeekOfYear=c(11)))
如何将第 11 周到第 52 周(年底)的预测值附加到如下相同的数据集
WeekOfYear Production
1 202612
2 245633
3 299653
4 252612
5 299633
6 288993
7 254653
8 288612
9 277733
10 245633
11 predicted value
12 predicted value
等等
-或-
WeekOfYear Production Regression
1 202612 fitted value
2 245633 fitted value
3 299653 fitted value
4 252612 fitted value
5 299633 fitted value
6 288993 fitted value
7 254653 fitted value
8 288612 fitted value
9 277733 fitted value
10 245633 fitted value
11 predicted value
12 predicted value
13 predicted value
14 predicted value
.
.
52 predicted value
要附加您的值,您可以使用以下内容
test_data <- data.frame(WeekOfYear=11:52, Production = rep(0, 52-11+1))
test_data$Production <- predict(relation,test_data)
df = rbind(df, test_data)
我用 df
你的数据框定义的地方
df = data.frame(WeekOfYear =
c(1,2,3,4,5,6,7,8,9,10),
Production = c(202612,245633,299653,252612,299633,288993,254653,288612, 277733,245633))
这会给你这样的行为(情节组合得非常快)
我不确定你的数据是否遵循线性行为,但你可能更了解你的数据...
你可以这样做:
relation <- lm(Production ~ WeekOfYear, dat)
WeekOfYear <- 1:52
predict(relation, data.frame(WeekOfYear))
dat2 <- data.frame(WeekOfYear, regression = predict(relation, data.frame(WeekOfYear)))
merge(dat, dat2, by = 'WeekOfYear', all.y = TRUE)
结果:
WeekOfYear Production regression
1 1 202612 250517.6
2 2 245633 253864.1
3 3 299653 257210.5
4 4 252612 260557.0
5 5 299633 263903.5
6 6 288993 267249.9
7 7 254653 270596.4
8 8 288612 273942.9
9 9 277733 277289.3
10 10 245633 280635.8
11 11 NA 283982.3
12 12 NA 287328.7
----
51 51 NA 417840.9
52 52 NA 421187.4