का उपयोग कर तारों में लगातार पैटर्न की गणना करना मैं पैटर्न के लगातार उदाहरणों की संख्या को गिनने के लिए एक फ़ंक्शन लिखने का प्रयास कर रहा हूं। एक उदाहरण के रूप में, मैं स्ट्रिंगआर
string<-"A>A>A>B>C>C>C>A>A"
"3 A > 1 B > 3 C > 2 A"
मैं एक समारोह है कि प्रत्येक स्ट्रिंग के उदाहरण में गिना जाता है मिल गया है में तब्दील किया जा करना चाहते हैं, नीचे देखें। लेकिन यह ऑर्डरिंग प्रभाव प्राप्त नहीं करता है जो मैं चाहता हूं। कोई विचार या पॉइंटर्स?
धन्यवाद,
आर
मौजूदा समारोह:
fnc_gen_PathName <- function(string) {
p <- strsplit(as.character(string), ";")
p1 <- lapply(p, table)
p2 <- lapply(p1, function(x) {
sapply(1:length(x), function(i) {
if(x[i] == 25){
paste0(x[i], "+ ", names(x)[i])
} else{
paste0(x[i], "x ", names(x)[i])
}
})
})
p3 <- lapply(p2, function(x) paste(x, collapse = "; "))
p3 <- do.call(rbind, p3)
return(p3)
}
क्या आपने 'rle()' फ़ंक्शन देखा है? यदि आप अपनी स्ट्रिंग को वेक्टर में विभाजित करते हैं तो अच्छी तरह से काम करना चाहिए। – MrFlick
बिल्कुल सही, बहुत बहुत धन्यवाद। पहले समारोह के बारे में कभी नहीं सुना, लेकिन उपयोग करने में बहुत आसान है। –