मैं लगातार संख्याओं की स्थिति में एक संख्यात्मक वेक्टर को विभाजित करना चाहता हूं। तो मैं निम्नलिखित संख्यात्मक वेक्टर डेटा = c(१८,२०:२५,२८:३०) कन्वर्ट करना चाहता हूं

डेटा स्ट्रिंग करने के लिए = सी ("18", "-", "20", "21", "22", "23", "24", "25", "-", "28", "29", "30") क्या ऐसा करने का कोई तरीका है? मेरे प्रश्न पर विचार करने के लिए बहुत धन्यवाद।

r
2
PeMa 18 अप्रैल 2021, 13:18

1 उत्तर

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

आधार R में tapply का उपयोग करते हुए:

data = c(18,20:25,28:30)
result <- unlist(tapply(data, cumsum(c(FALSE, diff(data) > 1)), function(x) 
           c('-', x)), use.names = FALSE)[-1]

#[1] "18" "-"  "20" "21" "22" "23" "24" "25" "-"  "28" "29" "30"

क्रमागत संख्याओं के प्रत्येक समूह में अनुक्रम को "-" से जोड़िए।

2
Ronak Shah 18 अप्रैल 2021, 10:38