R'de nasıl düzeltilir: as.date.numeric(x) hatası: 'origin' sağlanmalıdır
R’de karşılaşabileceğiniz bir hata:
Error in as.Date.numeric(x) : 'origin' must be supplied
Bu hata genellikle bir sayıyı R’de bir tarihe dönüştürmeye çalıştığınızda ancak orijinal tarihi sağlayamadığınızda ortaya çıkar.
Bu eğitimde bu hatanın nasıl düzeltileceği tam olarak açıklanmaktadır.
Hata nasıl yeniden oluşturulur?
Bir şirketin birkaç gün içinde yaptığı toplam satışları gösteren, R’de aşağıdaki veri çerçevesine sahip olduğumuzu varsayalım:
#create data frame
df <- data. frame (date=c(27, 140, 180, 200),
sales=c(12, 22, 30, 31))
#view data frame
df
dirty dates
1 27 12
2 140 22
3 180 30
4,200 31
Veri çerçevesinin yapısını görüntülemek için str() fonksiyonunu kullanabiliriz:
#view structure of data frame
str(df)
'data.frame': 4 obs. of 2 variables:
$ date: num 27 140 180 200
$ sales: num 12 22 30 31
Tarih ve satış sütunlarının her ikisinin de sayısal olduğunu görebiliriz.
Şimdi tarih sütununu tarih biçimine dönüştürmeye çalıştığımızı varsayalım:
#attempt to convert date column to date format df$date <- as. Date (df$date) Error in as.Date.numeric(df$date) : 'origin' must be supplied
as.Date() fonksiyonunda Origin argümanını kullanmadığımız için hata alıyoruz.
Hata nasıl düzeltilir?
Bu hatayı düzeltmenin yolu, R’nin sayıları tarihlere nasıl dönüştüreceğini bilmesi için orijinal bir tarih sağlamaktır:
#convert date column to date format, using 2020-01-01 as origin date
df$date <- as. Date (df$date, origin=" 2020-01-01 ")
#view updated data frame
df
dirty dates
1 2020-01-28 12
2 2020-05-20 22
3 2020-06-29 30
4 2020-07-19 31
R, bir başlangıç tarihi sağlayarak, gün sayısını sağlanan kaynağa ekleyerek sayıları tarihlere dönüştürdü.
Örneğin:
- İlk tarih değeri olan 27, orijinal tarih olan 2020-01-01’e 27 gün eklenerek 2020-01-28’e dönüştürüldü.
- İkinci tarih değeri olan 140, asıl tarih olan 01 /01/2020’ye 140 gün eklenerek 20/05/2020’ye dönüştürüldü.
Ve benzeri.
Yeni sütunun gerçekten bir tarih olduğunu doğrulamak için class() işlevini de kullanabiliriz:
#display class of date column
class(df$date)
[1] “Date”
Yeni sütun artık sayı yerine tarih olarak yer alıyor.
Ek kaynaklar
Aşağıdaki eğitimlerde R’deki diğer yaygın hataların nasıl çözüleceği açıklanmaktadır:
R’de nasıl düzeltilir: Adlar önceki adlarla eşleşmiyor
R’de nasıl düzeltilir: daha uzun bir nesnenin uzunluğu, daha kısa bir nesnenin uzunluğunun katı değildir
R’de nasıl düzeltilir: kontrastlar yalnızca 2 veya daha fazla seviyeye sahip faktörlere uygulanabilir