मैंने दिन में सप्ताह को आर में बदलने के लिए सप्ताह() और strftime() का उपयोग किया, लेकिन कार्य सोमवार से रविवार को शुरू होते हैं, कैलेंडर वर्ष दिन को वित्तीय वर्ष सप्ताह में परिवर्तित करना बंद हो जाता है। मेरा वित्तीय वर्ष 1 अक्टूबर से शुरू होता है, और 2017-10-01 को सप्ताह 1 होना चाहिए। हालांकि, strftime() सोमवार से सप्ताह की गणना करता है, '2017-10-01' का सप्ताह, जो रविवार है, घटाता है '2017-9- 30', जो शनिवार है, 1 के बजाय 0 हो जाता है।

> as.numeric(strftime("2017-10-1", format = "%V"), format = "%V")-as.numeric(strftime("2017-9-30", format = "%V"))
[1] 0

मैं कैलेंडर दिन को वित्तीय वर्ष सप्ताह में कैसे परिवर्तित कर सकता हूं जो रविवार से एक सप्ताह की गणना करता है?

r
1
rocknRrr 7 जिंदा 2020, 03:00

1 उत्तर

सबसे बढ़िया उत्तर

"%U" का प्रयोग करें जो रविवार से सप्ताह की गणना करता है। ?strptime से

%U - वर्ष का सप्ताह दशमलव संख्या (00–53) के रूप में रविवार को सप्ताह के पहले दिन 1 के रूप में उपयोग करते हुए (और आमतौर पर वर्ष के पहले रविवार को सप्ताह 1 के दिन 1 के रूप में)। यूएस कन्वेंशन।

as.numeric(strftime("2017-10-1", format = "%U")) - 
          as.numeric(strftime("2017-9-30", format = "%U"))
#[1] 1

आप lubridate से week का भी उपयोग कर सकते हैं

library(lubridate)
week(ymd('2017-10-1')) - week(ymd('2017-9-30'))
#[1] 1
1
Ronak Shah 7 जिंदा 2020, 00:07