2017-05-16 8 views
1

私の目的は、データセットの日付と時刻の両方の列を構造体POSIXctの1つの列に連結することです。係数値をdmy_hmsでPOSIXctに変換すると、値の半分がNAに換算されます

Date  Time 

1 2016年5月11日9時45分00秒

2 2016年5月11日9時46分00秒

3 2016年5月11日9時47分○○秒:列は次のようになります私が最初に試した何だった

4 2016年5月11日午前9時49分○○秒

D1 = paste(D$Date, D$Time) 

Date_Time = as.POSIXct(D1, format='%d.%m.%y %H:%M:%S') 

as.data.frame(Date_Time) 

各行にはNa値があります。私は理由を見つけることができませんでしたので、私はlubridateパッケージを使用して別の方法を試してみました:

Date_Time = mdy_hms(D1,tz="") 

Date_Time = as.data.frame(Date_Time) 

コンソールインタフェースに戻りを:私のデータの約半分である、「134021は、解析に失敗しました」。変換されたデータは、ほとんどの場合、月の最初の2週間の日時です。私の質問は、NAの値の半分をNAに変換するのはなぜですか、どうすれば問題を解決できますか?そして、なぜas.POSIXctコマンドでは全く機能しませんか?

ありがとうございました。

+0

あなたの 'ペースト()した後'可能性があります間違って - 'paste(as.character(...)、as.character(...))'を実行してください。 –

答えて

1

あなたは4桁の年のためにYの代わりyを使用する必要があります。

Date_Time = as.POSIXct(D1, format='%d.%m.%Y %H:%M:%S') 
+0

それだけです。私はそれを信じることができませんが、今は動作します。私はコードを書き直したときに何度も同じミスを繰り返しているに違いない。迅速な対応をありがとうございます。 –

+0

@CarolusFridericusようこそ。あなたはSOの新規ユーザーであるため、役に立つとわかる場合は と答えてください。 –

0

paste機能の使用このあなたが必要な場合は、時間だけでなく

Date_Time<- strptime(Date, "%d.%m.%Y %H:%M:%S")

関連する問題