मान लें कि मेरे पास एक रेखापुंज वस्तु है, r, (या एक डेटाफ़्रेम जैसा कि उन्हें समान रूप से अनुक्रमित किया जा सकता है), और एक वर्ण सूची, v:

v <- c("X15_X14","X15_X10","X13_X10")

मेरी वस्तु "r" के नाम/बैंड "X1", "X2", ..., "X14", "X15" हैं

मैं एक साधारण गणित ऑपरेशन बनाने के लिए strsplit, gsub, और पेस्ट (या किसी अन्य फ़ंक्शन) के किस संयोजन का उपयोग कर सकता हूं, जहां मेरी सूची से "X15_X14" r$X15/r$X14 या r[[15]]/r[[ 14]]?

मैं "v" सूची का उपयोग करना चाहता हूं, मैं स्वचालित रूप से विभाजन करने के लिए बैंड/कॉलम का चयन करने के लिए उत्पन्न करता हूं। मेरे पास कई मॉडल हैं जहां प्रशिक्षण डेटा पहले से ही इस अनुपात प्रारूप (यानी X15/X14) में है और इसे मेरी सूची की तरह नाम दिया गया है। जिस डेटा पर मैं मॉडल लागू कर रहा हूं उसका नाम "X14", "X15" है और इससे पहले कि मैं मॉडल लागू कर सकूं, अनुपात लागू होना चाहिए।

r
1
user7273584 31 मार्च 2020, 20:31

1 उत्तर

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

हम strsplit का उपयोग _ पर वैक्टर की सूची में विभाजित करने के लिए कर सकते हैं, फिर सूची पर के साथ लूप कर सकते हैं >lapply, 'r' को [[ से सब्मिट करें और डिवाइड करें

lst1 <- lapply(strsplit(v, "_"), function(x) r[[x[1]]]/r[[x[2]]])
1
akrun 31 मार्च 2020, 17:32