2017-11-20 19 views
0

私は15分間隔でdd/mm/yyyy hh:mm:ssで連続して収集される多くの温度データを持っています。私はRで初心者であり、データをプロットするのに苦労しています。私が書いたコードは次のとおりです。日付時刻の作成時系列オブジェクトとプロット

install.packages("xts") 
library("xts") 

temp<-read.csv("C:\\Users\\data\\Temp Data.csv",header=TRUE) 
str(temp) 

temp$DateTime<-as.POSIXct(strptime(temp$DateTime,"%m/%d/%Y %H:%M")) 

temp.xts<-xts(temp,order.by=temp$DateTime) 
summary(temp.xts) 

par(mfrow=c(1,1)) 

Temp.lab=seq(5,30,by=5) 
Temp.ticks=seq(5,30,by=5) 
plot(temp.xts$Temp.C["2015-05-01/2015-11-5"],axes=F,auto.grid=FALSE,col="gray48",ylim=c(5,30),main="",cex.main=1.0,lwd=1) 
axis(2,at=Temp.ticks,labels=format(Temp.lab,scientific=FALSE),ylab="Temperature (C)",las=1,cex.axis=1) 
mtext("Water Temperatuer",side=3,line=-1.25,cex=1,font=2,las=1,adj=0.025) 
mtext("",side=2,line=3,las=3,cex=1) 
mtext("",side=1,line=3,cex=1) 

私はこれらを実行すると、私はエラーを取得する:plot.xtsでエラーが発生しました(temp.xts $ Temp.C [「2015年5月1日/ 2015年11月15日」] 「x」を時系列オブジェクトでなければなりません

私のデータの構造は次のようになります。ここで

head(temp) Station.ID DateTime Temp.C 1 Station.01 2015-05-08 14:00:00 14.002 2 Station.01 2015-05-08 14:15:00 13.906 3 Station.01 2015-05-08 14:30:00 13.978 4 Station.01 2015-05-08 14:45:00 14.026 5 Station.01 2015-05-08 15:00:00 14.074 6 Station.01 2015-05-08 15:15:00 14.098

str(temp) 'data.frame': 18283 obs. of 3 variables: $ Station.ID: Factor w/ 1 level "Station.01": 1 1 1 1 1 1 1 1 1 1 ... $ DateTime : Factor w/ 18279 levels "10/1/2015 00:00",..: 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 ... $ Temp.C : num 14 13.9 14 14 14.1 ...

は私のデータセットの抜粋です::、= Fは、軸。

ヘッド(温度、20) Station.ID DateTime Temp.C 1 Station.01 5/8/2015 14:00 14.002 2 Station.01 5/8/2015 14:15 13.906 3 Station.01 5/8/2015 14:30 13.978 4 Station。 01 5/8/2015 14:45 14.026 5 Station.01 5/8/2015 15:00 14.074 6 Station.01 5/8/2015 15:15 14.098 7 Station.01 5/8/2015 15: 30 14.122 8 Station.01 5/8/2015 15:45 14.146 9 Station.01 5/8/2015 16:00 14.146 10 Station.01 5/8/2015 16:15 14.146 11 Station.01 5/8/2015 16:30 14.146 12 Station.01 5/8/2015 16:45 14.146 13 Station.01 5/8/2015 17:00 14.122 14 Station.01 5/8/2015 17:15 14.122 15 Station.01 5/8/2015 17:30 14.122 16 Station.01 5/8/2015 17:45 14.098 17 Station.01 5/8/2015 18:00 14.122 18 Station.01 5/8/2015年午後06時15 14.098 19 Station.01 2015年5月8日午後06時30分14.098 20 Station.01 2015年5月8日18時45 14.098

Any suggestions? Help is greatly appreciated. 
+0

[mcve]を確認してください。特に、再現可能な形式でデータを表示して、他の人がエラーを再現できるようにしてください。 strを使用しないでください。 –

+0

'dput(head(temp、10))'では、問題を再現する小さなダミーデータセットを提供することができます。詳しくは '?dput'を参照してください。 – OdeToMyFiddle

+0

ありがとう、 – mkRuser

答えて

0

私は同じエラー「 'X' を持っていました(時系列オブジェクトでなければなりません) "と書かれています。Debianシステムの(似たような)私の(似たような)スクリプトの1つで、 は、as.numericを使って数値に明示的にキャストして解決しました。あなたの場合のようなものplot(as.numeric(temp.xts$Temp.C["2015-05-01/2015-11-5"]),.....