R में कैसे ठीक करें: as.date.numeric(x) में त्रुटि: 'मूल' प्रदान किया जाना चाहिए
R में आपके सामने एक त्रुटि आ सकती है:
Error in as.Date.numeric(x) : 'origin' must be supplied
यह त्रुटि आम तौर पर तब होती है जब आप किसी संख्या को आर में तारीख में बदलने का प्रयास करते हैं, लेकिन मूल तारीख प्रदान करने में असमर्थ होते हैं।
यह ट्यूटोरियल सटीक रूप से बताता है कि इस त्रुटि को कैसे ठीक किया जाए।
त्रुटि को पुन: उत्पन्न कैसे करें
मान लीजिए कि हमारे पास आर में निम्नलिखित डेटा फ्रेम है जो किसी कंपनी द्वारा कई दिनों में की गई कुल बिक्री को दर्शाता है:
#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
हम डेटा फ़्रेम की संरचना प्रदर्शित करने के लिए str() फ़ंक्शन का उपयोग कर सकते हैं:
#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
हम देख सकते हैं कि दिनांक और बिक्री कॉलम दोनों संख्यात्मक हैं।
अब मान लीजिए कि हम दिनांक कॉलम को दिनांक स्वरूप में बदलने का प्रयास करते हैं:
#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() फ़ंक्शन में मूल तर्क का उपयोग नहीं किया है।
त्रुटि को कैसे ठीक करें
इस त्रुटि को ठीक करने का तरीका बस एक मूल तारीख प्रदान करना है ताकि आर को पता चले कि संख्याओं को तारीखों में कैसे परिवर्तित किया जाए:
#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
एक मूल तिथि प्रदान करके, आर ने प्रदान की गई मूल तिथि में दिनों की संख्या जोड़कर संख्याओं को तारीखों में बदल दिया।
उदाहरण के लिए:
- 2020-01-01 की मूल तारीख में 27 दिन जोड़कर 27 की पहली तारीख का मान 2020-01-28 में बदल दिया गया था।
- 01/01/2020 की मूल तिथि में 140 दिन जोड़कर 140 का दूसरा दिनांक मान 05/20/2020 में परिवर्तित किया गया था।
और इसी तरह।
हम यह पुष्टि करने के लिए क्लास() फ़ंक्शन का भी उपयोग कर सकते हैं कि नया कॉलम वास्तव में एक तारीख है:
#display class of date column
class(df$date)
[1] “Date”
नया कॉलम अब संख्या के बजाय तारीख है।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि आर में अन्य सामान्य त्रुटियों को कैसे हल किया जाए:
आर में कैसे ठीक करें: नाम पिछले नामों से मेल नहीं खाते
आर में कैसे ठीक करें: लंबी वस्तु की लंबाई छोटी वस्तु की लंबाई का गुणज नहीं है
आर में कैसे ठीक करें: कंट्रास्ट केवल 2 या अधिक स्तरों वाले कारकों पर लागू किया जा सकता है