2

ヘッダー付きのテキスト ファイル データセットがあります

YEAR MONTH DAY value

2010 年 1 月 6 日から 2012 年 7 月 14 日まで 1 時間ごとに実行されます。次のコマンドでデータを開いてプロットします。

data=read.table('example.txt',header=T)
time = strptime(paste(data$DAY,data$MONTH,data$YEAR,sep="-"), format="%d-%m-%Y")
plot(time,data$value)

ただし、データをプロットすると、x 軸には 2011 年と 2012 年しか表示されませんここに画像の説明を入力。2011 年と 2012 年のラベルを保持したまま、特定の月を追加するにはどうすればよいですか (たとえば、3 月、6 月、9 月が必要な場合)。

このリンクでデータを利用できるようにしました

https://dl.dropbox.com/u/107215263/example.txt

4

2 に答える 2

5

関数を使用して、必要に応じaxis.POSIXctて日付ラベルをフォーマットおよび破棄する必要があります。

plot(time,data$value,xaxt="n") #Skip the x-axis here
axis.POSIXct(1, at=pretty(time), format="%B %Y")

ここに画像の説明を入力

使用可能なすべての形式を確認するには、 を参照してください?strptime
もちろん、パラメーターatを使用して、必要な場所にティックを配置できます。たとえば、次のようになります。

axis.POSIXct(1, at=seq(time[1],time[length(time)],"3 months"), 
             format="%B %Y")

ここに画像の説明を入力

于 2013-04-03T08:29:48.227 に答える
0

これは質問に直接答えるものではありませんが、時xts系列分析にはパッケージを使用することをお勧めします。時系列分析は非常に便利です

require(xts)

DF <- read.table("https://dl.dropbox.com/u/107215263/example.txt", header = TRUE)
head(DF)
##   YEAR MONTH DAY    value
## 1 2010     6   1  95.3244
## 2 2010     6   2  95.3817
## 3 2010     6   3 100.1968
## 4 2010     6   4 103.8667
## 5 2010     6   5 104.5969
## 6 2010     6   6 107.2666

#Get Index for xts object which we will create in next step
DFINDEX <- ISOdate(DF$YEAR, DF$MONTH, DF$DAY)

#Create xts timeseries
DF.XTS <- .xts(x = DF$value, index = DFINDEX, tzone = "GMT")


head(DF.XTS)
##                         [,1]
## 2010-06-01 12:00:00  95.3244
## 2010-06-02 12:00:00  95.3817
## 2010-06-03 12:00:00 100.1968
## 2010-06-04 12:00:00 103.8667
## 2010-06-05 12:00:00 104.5969
## 2010-06-06 12:00:00 107.2666

#plot xts
plot(DF.XTS)

ここに画像の説明を入力

于 2013-04-03T08:40:03.833 に答える