我正在尝试使用前几季的数据来预测个别棒球运动员的RBI。目前,我在3年的时间内每年使用6个月的数据(18个数据点)。
我正在设法建立一个时间序列,以确认数据是针对4月 - 9月(2012年,2013年,2014年),然后预测2015年4月至9月。
以下是我正在使用的数据示例:
RBI BA OBP
1 7 0.284 0.376
2 10 0.400 0.469
3 17 0.317 0.398
4 13 0.304 0.398
5 6 0.263 0.323
6 13 0.284 0.350
7 10 0.286 0.355
8 1 0.231 0.268
9 7 0.339 0.471
10 7 0.223 0.273
11 13 0.280 0.355
12 11 0.278 0.307
13 10 0.307 0.391
14 7 0.200 0.239
15 5 0.235 0.313
16 11 0.349 0.390
17 7 0.265 0.308
18 7 0.191 0.224
1-6 是2012年4月至9月, 7-12 是2013年4月至9月, 13-18 是2014年4月至9月
当我尝试这样做时,我尝试设置如下的时间序列:
ts(rbi.csv, frequency = 6, start=c(2012,4))
这显然是错误的。 谢谢您的帮助。
答案 0 :(得分:0)
你可以这样做。 mydf
是您的数据框
year <- rep(c(2012:2014), each = 6)
month <- month.name[4:9]
mydf$time <- paste(month, " ", year, sep = "")
# RBI BA OBP time
#1 7 0.284 0.376 April 2012
#2 10 0.400 0.469 May 2012
#3 17 0.317 0.398 June 2012
#4 13 0.304 0.398 July 2012
#5 6 0.263 0.323 August 2012
#6 13 0.284 0.350 September 2012
#7 10 0.286 0.355 April 2013
#8 1 0.231 0.268 May 2013
#9 7 0.339 0.471 June 2013
#10 7 0.223 0.273 July 2013
#11 13 0.280 0.355 August 2013
#12 11 0.278 0.307 September 2013
#13 10 0.307 0.391 April 2014
#14 7 0.200 0.239 May 2014
#15 5 0.235 0.313 June 2014
#16 11 0.349 0.390 July 2014
#17 7 0.265 0.308 August 2014
#18 7 0.191 0.224 September 2014
数据强>
mydf <- structure(list(RBI = c(7L, 10L, 17L, 13L, 6L, 13L, 10L, 1L, 7L,
7L, 13L, 11L, 10L, 7L, 5L, 11L, 7L, 7L), BA = c(0.284, 0.4, 0.317,
0.304, 0.263, 0.284, 0.286, 0.231, 0.339, 0.223, 0.28, 0.278,
0.307, 0.2, 0.235, 0.349, 0.265, 0.191), OBP = c(0.376, 0.469,
0.398, 0.398, 0.323, 0.35, 0.355, 0.268, 0.471, 0.273, 0.355,
0.307, 0.391, 0.239, 0.313, 0.39, 0.308, 0.224)), .Names = c("RBI",
"BA", "OBP"), class = "data.frame", row.names = c("1", "2", "3",
"4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15",
"16", "17", "18"))
答案 1 :(得分:0)
使用图表预测:
mydf$month = as.numeric(rownames(mydf))
mydf$scaledrbi = scale(mydf$RBI)
mydf$scaledba = scale(mydf$BA)
mydf$scaledobp = scale(mydf$OBP)
mm = melt(mydf[,-(1:3)], id='month')
ggplot(mm, aes(x=month, y=value, group=variable, color=variable))+stat_smooth()