2016-05-24 16 views
0

データフレームzに変数xがあると仮定しますが、これは係数ですが、日付に変換する必要があります。換算係数変数を日付に換算する

x <- factor(c("17.05.2016","19.05.2016","42472","42481")) 
y <- 1:4 
z <- data.frame(x,y) 
z 

次のコードで試しましたが、部分的に正しい結果が得られました。この問題を手伝ってください。

z$x1 = tryCatch({ 
z$x = as.Date(z$x ,origin = "1899-12-30") 
},error = function(e){ 
z$x =as.Date(z$x, "%d.%M.%Y") 
}) 
z 
+0

私が試したが、その動作していないではありません。以前と同じように部分的に正しい結果が得られました! – shejomamu

+0

'42472'を' Date'としてどのように変換しますか?期待される成果は? –

+0

as.Date(42472、origin = "1899-12-30") これは "2016-04-12" – shejomamu

答えて

1

それは動作しますが、それはtrycatch

z$x1 <- as.Date(z$x, format="%d.%m.%Y") 
z$x1[is.na(z$x1)] <- as.Date(as.numeric(as.character(z$x[is.na(z$x1)])) ,origin = "1899-12-30") 
+0

ありがとうCClaireさん、あなたの助けになりました!それは正確に動作します。 – shejomamu

+0

お寄せください) – CClaire

関連する問題