2015-09-09 8 views
5

मेरे पास वैक्टर युक्त कई सूचियां हैं और मैं एक सूची प्राप्त करना चाहता हूं, जो तत्व प्रारंभिक सूचियों के वैक्टरों का औसत वैक्टर हैं।एकाधिक सूचियों से वैक्टर के माध्य की गणना कैसे करें?

उदाहरण: दो प्रारंभिक सूचियों

lt1 <- list(a = c(1,2,3), b = c(2,5,10)) 
lt2 <- list(a = c(3,4,5), b = c(4,5,2)) 

और मैं प्राप्त करने के लिए

lt12 <- list(a = c(2,3,4), b = c(3,5,6)) 

मैं llply lapply साथ की कोशिश की और चाहते हैं, लेकिन मैं हमेशा एक सूची के वेक्टर के माध्य प्राप्त करने के अंत में ।

+1

'mapply (समारोह (ए, बी) colMeans (rbind (ए, बी)), LT1, lt2, आसान बनाने = एफ)' में मदद मिल सकती – jenesaisquoi

उत्तर

2

आप Map()cbind() वैक्टरों को एकसाथ उपयोग कर सकते हैं, फिर परिणामी सूची पर rowMeans() चला सकते हैं।

lapply(Map(cbind, lt1, lt2), rowMeans) 
# $a 
# [1] 2 3 4 
# 
# $b 
# [1] 3 5 6 

या lapply(Map(rbind, lt1, lt2), colMeans)

+0

तुम बहुत धन्यवाद के साथ अन्य तरह बहुत, यह पहले से ही बहुत मदद करता है। मुझे एक अतिरिक्त कठिनाई है। मेरी प्रारंभिक सूचियों को एक सूची में भी एम्बेड किया गया है। क्या इस वैश्विक सूची से सूचियों को पास करने के अलावा कोई तरीका है (मानचित्र (rbind, lt [[1]], lt [[2]], ... lt [[n]])? – user34771

+0

यह थोड़ा सा लगता है अधिक जटिल और शायद एक अलग नए प्रश्न के रूप में पोस्ट करना बेहतर हो सकता है। –

+0

मुझे जवाब मिला: लापता (कम करें (फ़ंक्शन (एक्स, वाई) मानचित्र (आरबीआईंड, एक्स, वाई), लेफ्टिनेंट), colMeans) # lt = list के साथ (LT1, lt2) – user34771

संबंधित मुद्दे