के तत्वों के रूप में दो मैट्रिक्स के कॉलम लेने के साथ समारोह लागू करने पर विचार करें मैट्रिक्स d
और r
dim(d) = J x D
और dim(r) = J x R
साथ। मज़ेदार (ए, बी) एक ऐसा फ़ंक्शन बनें जो एक ही लंबाई के दो वैक्टर लेता है और कुछ संख्या देता है।
मैं ब्याज की इकाइयों के रूप में क्रमशः d
और r
के कॉलम का इलाज करना चाहता हूं और outer
लागू करना चाहता हूं।बाहरी ब्याज
निम्नलिखित कोड d
और r
के स्तंभों की सूची बनाने और फिर दोनों outer
और sapply
का उपयोग कर करके पूरा करता है:
d.cols <- split(d, col(d))
r.cols <- split(r, col(r))
outer(d.cols, r.cols,
function(x,y) {
sapply(seq_along(x),
function(i) {
Fun(x[[i]], y[[i]]) })})
कोड जो मैं चाहता करता है और अपेक्षाकृत कुशल है, लेकिन अनाड़ी और यह स्पष्ट नहीं है । क्या मैं इसे पूरा करने की कोशिश कर रहा हूं, इसे पूरा करने का एक बेहतर तरीका है?
यदि आप नमूना इनपुट/आउटपुट प्रदान की यह मदद मिलेगी। एक अच्छा नमूना समारोह 'Sum <- function (a, b) a + b' जैसा कुछ आसान होगा। –
यहां एक और संबंधित प्रश्न: http://stackoverflow.com/questions/5233308/is-there-ar-function-that-applies-a-function-to-each-pair-of-columns/5233713#5233713 – Aaron