में सेट की एक निश्चित संख्या में अज्ञात लंबाई का अनुक्रम विभाजित करना मेरे पास एक अनुक्रम है जो लंबाई में भिन्न होता है उदा। कुछ की तरह:आर
items <- 1:4
मैं इसे सेट की n
संख्या के हर संभव संयोजन में विभाजित करना चाहते हैं। तो कहते हैं कि n
दो है, मैं वापस जाने के लिए चाहते हैं:
Set A Set B
----- -----
1 2 3 4
1 2 3 4
1 2 3 4
1 3 2 4
आदि व्यवस्था सेट के भीतर कोई फर्क नहीं पड़ता अर्थात सेट {1
, 2
, 3
} {2
, 1
, 3
} के समान है। सेट खाली नहीं हो सकता है।
बेस्ट मैं (पैकेज combinat
से permn
का प्रयोग करके) के साथ आ सकता है:
n <- 2
r <- 1:length(items)
arrangements <- NULL
for (i in 1:(n-1)) {
A <- r[(1:i)]
B <- r[-(1:i)]
arrangements <- c(arrangements, apply(do.call(rbind, permn(1:length(items))), 1, function(z) list(z[A], z[B])))
}
कौन सा काफी बेकार है क्योंकि यह सेट कि बराबर यानी हैं रिटर्न {1
, 2
, 3
} और {2
, 1
, 3
} और n
के विभिन्न मानों को संभालने के लिए पर्याप्त लचीला नहीं है। किसी के पास कोई विचार है कि मैं यह कैसे कर सकता हूं? धन्यवाद।