2016-05-09 6 views
0

私は学士論文を書いていますが、これまでのところrの経験はあまりありません。 私の問題は、私はこれで作られた私の日付がコマンドということです:私は、これらの特定の日付の他の情報とのマトリックスでそれらを保存するときマトリックスに日付を保存する( "原点を指定する必要があります")r

t<-strptime(x, "%d.%m.%Y %H.%M") 

はもう動作しません。

私はこのt[1:10]

のような行列に入れていない。しかしそれは、すぐに私は行列

matrix1<-matrix(c(t,v2,v3,v4),nrow=length(v2)) 

Fehler in as.POSIXct.numeric(X[[i]], ...) : 'origin' muss angegeben werden 
でそれらを保存しようとして発生したときに、それだけで正常に動作しますので、私は少し混乱しています

ドイツ語ですが、原点を指定する必要があります。

私はそれを修正するために何をすべきですか?私はちょっと不満です:)

答えて

0

t(恐ろしい名前で、ちょっとしたこと、簡単にはtと混同します)は、内部的にはリストであるPOSIXltオブジェクトです。まず、c(t,v2,v3,v4)が返すもの(私はv2などがどのように定義されているかわかりません)をチェックしてください。

その後、我々はhelp("matrix")にドキュメントに見ることができます(リストまたは発現ベクターを含む)

データ
オプションのデータベクトルを。非原子クラスのRオブジェクトはas.vectorによって強制され、すべての属性は破棄されます。

重要なビットは「すべての属性が破棄されました」です。これは、あなたがPOSIXltオブジェクトの(クラス属性が含まれる)の属性を破棄した場合、あなたが得るものです:

x <- strptime(c("2016-05-09 12:00:00", "2016-05-09 13:00:00"), format = "%Y-%m-%d %H:%M:%S") 
attributes(x) <- NULL 
print(x) 
# [[1]] 
# [1] 0 0 
# 
# [[2]] 
# [1] 0 0 
# 
# [[3]] 
# [1] 12 13 
# 
# [[4]] 
# [1] 9 9 
# 
# [[5]] 
# [1] 4 4 
# 
# [[6]] 
# [1] 116 116 
# 
# [[7]] 
# [1] 1 1 
# 
# [[8]] 
# [1] 129 129 
# 
# [[9]] 
# [1] 1 1 
# 
# [[10]] 
# [1] "CEST" "CEST" 
# 
# [[11]] 
# [1] NA NA 

行列はPOSIXltオブジェクト(または任意のオブジェクト、つまり、明示的なクラスを使って何を)含めることはできません。

+0

大丈夫だけど、私のvektors v1(平均風速)、v2 "密度)v3(最大風速)v4(最小風速) –

+0

と一緒にそれらの日付をどう入れればいいか分かりますが、私の主な問題はデータがあるからですその間にいくつかの空白を入れて設定し、適切なデータセットを得るための堅実な方法を見つけようとしています。 –

+0

おそらく行列の代わりにdata.frameが必要です。 – Roland

0

ローランドが正しいです。行列にPosixltオブジェクトを配置することはできません。

>date<- as.numeric(as.POSIXct("2014-02-16 2:13:46 UTC",origin="01-01-1970")) 
>date 
[1] 1392545626 

次に、あなたがそうであるように、マトリックスでそれらのタイムスタンプを保存して戻ってそれを変換するために:あなたはどうすることができますことは、マトリックスの数値のタイムスタンプとして、これらの日付を保存し、数値のタイムスタンプに変換 にアクセスしているときにバック日付に変換されますこれまでのところ、上記のコマンドを数値に変換せずに再び使用してください。

関連する問題