2016-04-05 14 views
0

Bir csv içe aktarıyorum ve tarihleri ​​ay-yıl olarak saklıyor (Nisan 2002 için Nisan-02). Csv dosyasında, değerde bir gün var. Yani Apr-02 aslında dosyada 4/10/2002 gibi bir değere sahip olacaktır. Dosyayı R'ye aktardığımda, bu Apr-02 formatını tutar ve onu bir faktör olarak saklar. Ben bir tarih olarak bunu elde etmek içinR İçe aktarma csv kaybetme tarihi (günlük) değeri

ds$val <- as.Date(ds$val, format = "%b-%y") 

kullanmaya çalıştı, ama tüm UA'lara sonuçlanır. Ben

yapabilirim ama günü kaybediyorum. Csv içe aktarırken tam tarih almanın bir yolu var mı (csv dosyasındaki biçimi değiştirmenin dışında)?

Teşekkürler!

DÜZENLEME: CSV veri first 5 rows in original format

Ekli görüntü, birinci orijinal biçimidir. Normal biçimine tarihlerini değiştirirseniz

, değerler şunlardır: 2002/04/10, 1997/08/24, 1999/01/06, 10.10.2008, 8/16/1985

+1

Bir csv'de metin içinde "Apr-02" olarak saklanırsa, bir gününün nasıl olduğunu anlamıyorum. Bu bir Excel biçimlendirme sorunu mu? – thelatemail

+0

Bir tarihin, her gün, ayın _and_ yılına sahip olması gerekir. Dosyanızdaki tüm değerler aynı gün, yalnızca farklı ay/yıl içeriyorsa, bir tarihe dönüştürmeye çalışmadan önce o günü eklemeniz gerekir. – joran

+0

@thelatemail ile katılıyorum. Excel, bir dosyayı csv olarak kaydederken bir sürü şey yapar. ++ notepad csv açın ve şaşıracaksınız ama buna özel bir biçimi "Nisan-02" ile, bir tarih olarak depolanır @thelatemail excel ... csv olarak kaydetmeden önce – chinsoon12

cevap

1

Read.csv çağrısı ile stringsAsFactors = FALSE kullanırsanız, faktörleri değil karakter değerlerini alamazsınız. Ama asıl sorun bu değil, çünkü As.Date faktörleri kabul edecektir. Ayın değerinin bir gününü yapıştırmadan veya zoo-pkg'ın yearmon-sınıfını kullanmıyorsanız, as.Date'u kullanamazsınız.

İlgili konular