तीन इनपुट वैक्टर को देखते हुए जो मैं और अधिक कुशलता से लिखना की कोशिश कर रहा हूँ। यहाँ मेरा प्रयास है: दोनों फ़ंक्शंस निम्न इनपुट के लिए समान परिणाम देते हैं: लेकिन इसके लिए नहीं: क्या आप मुझे यह काम करता है: v ,
a ,
m और निम्नलिखित फ़ंक्शन:
f1 & lt; - फ़ंक्शन (v, m, a) {o = बाहरी (m, v, "& gt;") पंक्ति सफ़ (टी (टी (ओ) * ए))}
f2 & lt; - फ़ंक्शन (v, m, a) {vm = c (m, v) अनुक्रमणिका = c (प्रतिनिधि (0, लंबाई (मी)), प्रतिनिधि (1, लंबाई (वी))) सूचकांक = सूचकांक [ऑर्डर (वीएम)] cumsum1 = cumsum (index1) r = cumsum1 [अनुक्रमणिका 1 == 0] cumsum.a = cumsum (ए) cumsum.a [r]} < / Code>
v = c (0, 0.11, 0.17, 0.31, 0.63) a = c (11.41) , 9.40, 7.11, 2.80, 0.27) एम = सी (0.03, 0.097, 0.14, 0.1 9, 0.26, 0.31, 0.46, 0.63, 1.13) एफ 1 (वी, एम, ए) # [11] 11.41 11.41 20.81 27.92 27.92 27.92 30.72 30.72 30.9 9 एफ 2 (v, m, a) # [11] 11.41 11.41 20.81 27.92 27.92 27.92 30.72 30.72 30.9 9
w = सी (0.07, 0.21, 0.30, 0.62, 1.63) एफ 1 (डब्ल्यू, एम, ए) # [1] 0.00 11.41 11.41 11.41 20.81 27.92 27.92 30.72 30.72 एफ 2 (डब्ल्यू, एम, ए) # [1] 11.41 11.41 11.41 20.81 27.92 27.92 30.72 30.72
F2 को ठीक करने में मदद कर सकते हैं, इसलिए यह इनपुट के दोनों सेटों के लिए
f1 के समान परिणाम देता है?
f1 & lt; - फ़ंक्शन (w, m, a) {o & lt; - बाह्य (m, w," & gt; ") rowSums (t (टी (ओ) * ए))} एफ 2 और एलटी; - फ़ंक्शन (डब्लू, एम, ए) {एमएमटीटीसी - सी (एम, डब्ल्यू) इंडेक्स & एलटी; - सी (रिप (0, लम्बाई (एम)), प्रतिनिधि (1, लम्बाई (डब्ल्यू))) इंडेक्स 2 & लेफ्टिनेंट; इंडेक्स [ऑर्डर (डब्लूएम)] सीम्सम 2 और एलटी; - सीम्सम (इंडेक्स 2) आर 1 एंड एलटी; - सीम्सम 2 [इंडेक्स 2 == 0] सीम्सम (सी (0, ए)) [आर 1 + 1]} v & lt; -c (0, 0.11, 0.17, 0.31, 0.63) w & lt; -c (0.07, 0.21, 0.30, 0.62, 1.63) एक & lt; -c (11.41, 9.40, 7.11, 2.80, 0.27) एम एंड एलटी; - c (0.03, 0.097, 0.14, 0.19, 0.26, 0.31, 0.46, 0.63, 1.13) समान (एफ 1 (वी, एम, ए), एफ 2 (वी, एम, ए)) # [1] सही समान (एफ 1 (डब्ल्यू, एम, ए), एफ 2 (डब्ल्यू, एम, ए)) # [1] TRUE
No comments:
Post a Comment