まず、フォーマットを修正し、次のようなパッケージを使用しxts
て適切な時系列オブジェクトを取得します。
# Read in the data. In the future, use `dput` or something else
# so that others can read in the data in a more convenient way
temp = read.table(header=TRUE, text=" V1 V2 V3
1 20100420 915 120
2 20100420 920 150
3 20100420 925 270
4 20100420 1530 281")
# Get your date object and format it to a date/time object
date = paste0(temp[[1]], apply(temp[2], 1, function(x) sprintf("%04.f", x)))
date = strptime(date, format="%Y%m%d%H%M")
# Extract just the values
values = temp[[3]]
# Load the xts package and convert your dataset
require(xts)
xts(values, order.by=date)
# [,1]
# 2010-04-20 09:15:00 120
# 2010-04-20 09:20:00 150
# 2010-04-20 09:25:00 270
# 2010-04-20 15:30:00 281
日付変換:
apply(temp[2], 1, ...)
temp の 2 列目に行ごとに移動し、数値を 4 桁に再フォーマットします。
- 次に、
paste0
すべての日時情報を 1 つのベクトルに結合します。
- 最後に、
strptime
その文字ベクトルを適切な日時オブジェクトに変換します。
アップデート
もちろん、通常の だけが必要な場合はそれも可能ですが、リアルタイムの系列分析を行いたい場合はまたはdata.frame
のようなものを使用することを強くお勧めします。zoo
xts
簡単なdata.frame
手順は次のとおりです (前にdate
およびvalues
オブジェクトを作成した後に続きます)。
data.frame(V3 = values, row.names=date)
# V3
# 2010-04-20 09:15:00 120
# 2010-04-20 09:20:00 150
# 2010-04-20 09:25:00 270
# 2010-04-20 15:30:00 281