नमस्ते मैं विशिष्ट तिथियों के एक सेट द्वारा डेटा फ्रेम को विभाजित करना चाहता हूं ("महीने" या "सप्ताह" के अनुसार नहीं)।

यहाँ नमूना कोड है

id <- c(1:6)
ts <- as.Date(c("2018-06-01","2018-06-25","2018-06-03","2018-05-06","2018-04-30","2018-06-13"))
df <- data.frame(id,ts)
split(df,cut(ts,breaks = c("2018-05-01","2018-05-20","2018-06-14")))

लेकिन यह ब्रेक का अमान्य विनिर्देश कहता है।

मैं सोच रहा हूं कि मैं इस मामले में ब्रेक कैसे निर्दिष्ट कर सकता हूं? मैंने cut.dates को भी आज़माया और विभिन्न स्वरूपों को आज़माया, उदा। "डीडी/मिमी/वर्ष"।

अग्रिम में बहुत धन्यवाद!

2
Meow 11 सितंबर 2018, 14:51

1 उत्तर

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

क्या आपका यह मतलब है?

split(df, cut(
    df$ts, 
    breaks = as.Date(c("2018-04-30", "2018-05-01","2018-05-20","2018-06-14", "2018-06-30"))))
#$`2018-04-30`
#  id         ts
#5  5 2018-04-30
#
#$`2018-05-01`
#  id         ts
#4  4 2018-05-06
#
#$`2018-05-20`
#  id         ts
#1  1 2018-06-01
#3  3 2018-06-03
#6  6 2018-06-13
#
#$`2018-06-14`
#  id         ts
#2  2 2018-06-25

Date के साथ cut का उपयोग करते समय आपको breaks को Date ऑब्जेक्ट के रूप में निर्दिष्ट करना होगा। यह भी ध्यान दें कि मैंने एक निचला और ऊपरी विराम बिंदु जोड़ा है क्योंकि break अंक जो आपने अपने उदाहरण में दिए थे, वे df$ts में Dates की सीमा को कवर नहीं करते थे।

1
Maurits Evers 11 सितंबर 2018, 15:06