मैं निम्नलिखित नेस्टेड पाश हैदोहराएं
for (x in xs) {
for (y in ys) {
# Do something with x and y
}
}
कौन सा मैं समतल करना चाहते हैं तो मैं दो वैक्टर xs
और ys
की कार्तीय उत्पाद के निर्माण और परिणाम पर पुनरावृत्ति के बारे में सोचा । अजगर में, इस तुच्छ होगा:
for xy in product(xs, ys):
# x, y = xy[0], xy[1]
लेकिन आर में, सबसे सरल बराबर मैंने पाया चुनौतीपूर्ण लग रहा है:
xys <- expand.grid(xs, ys)
for (i in 1 : nrow(xys)) {
xy <- as.vector(xys[i, ])
# x <- xy[1], y <- xy[2]
}
निश्चित रूप से वहाँ एक बेहतर तरीका है, नहीं होना चाहिए? (स्पष्ट करने के लिए, मैं ... मुझे लगता है कि एक तरह से सीधे उत्पाद में tuples की पुनरावृत्ति करने के लिए वहाँ होना चाहिए एक सूचकांक से अधिक पुनरावृति करने के लिए नहीं करना चाहती।)
@ कोनराड रुडॉल्फ: मैंने अपना जवाब हटा दिया। इसके साथ कुछ भी गलत नहीं था। मुझे यकीन नहीं था कि यह वास्तव में वह समाधान था जिसे आपने देखा था। @flodel मिश्रित इनपुट प्रकारों के साथ 'लागू' का उपयोग कर समस्याओं के बारे में सही है। इस मामले में, आप एक स्ट्रिंग को संख्यात्मक मान में बदलने के लिए 'as.numeric' का उपयोग कर सकते हैं। लेकिन जब तक आप केवल संख्यात्मक वैक्टर का उपयोग नहीं करते हैं तब तक कोई समस्या नहीं है। –