में किसी सूची के आउटपुट को अलग करने के लिए कैसे करें मेरे पास एक फ़ंक्शन है जो सूची की सूची लौटाता है। मैं सूची के परिणाम को अलग करना चाहता हूं। दूसरे तत्वों के पहले तत्व।आर
x1 <- replicate(4,0.5)
x2 <- replicate(4,0.7)
x <- list(x1,x2)
y <- list(0.5,0.6,0.3,0.4)
myfu <- function(x,y){
out <- list()
out$y <- lapply(1:4, function(i){lapply(1:2, function(j) y[[i]]*x[[j]])})
return(out)
}
यह समारोह इस रिटर्न:
$y
$y[[1]]
$y[[1]][[1]]
[1] 0.25 0.25 0.25 0.25
$y[[1]][[2]]
[1] 0.35 0.35 0.35 0.35
$y[[2]]
$y[[2]][[1]]
[1] 0.3 0.3 0.3 0.3
$y[[2]][[2]]
[1] 0.42 0.42 0.42 0.42
$y[[3]]
$y[[3]][[1]]
[1] 0.15 0.15 0.15 0.15
$y[[3]][[2]]
[1] 0.21 0.21 0.21 0.21
$y[[4]]
$y[[4]][[1]]
[1] 0.2 0.2 0.2 0.2
$y[[4]][[2]]
[1] 0.28 0.28 0.28 0.28
मेरे सवाल है, मैं सभी y[[i]][[2]]
से सभी y[[i]][[1]]
अलग कर सकते हैं कैसे यहाँ एक उदाहरण है। यही है, मैं इस तरह का परिणाम प्राप्त करना चाहता हूं:
$y
$y[[1]]
$y[[1]][[1]]
[1] 0.25 0.25 0.25 0.25
$y[[2]]
$y[[2]][[1]]
[1] 0.3 0.3 0.3 0.3
$y[[3]]
$y[[3]][[1]]
[1] 0.15 0.15 0.15 0.15
$y[[4]]
$y[[4]][[1]]
[1] 0.2 0.2 0.2 0.2
और दूसरे तत्व के लिए वही।
आप आपकी मदद के लिए बहुत बहुत धन्यवाद। यह वास्तव में महान है। क्या हम इसे फ़ंक्शन के अंदर इस्तेमाल कर सकते हैं? – Alice
@ एलिस हां, आप '%%>% मानचित्र (ट्रांसपोज़) कर सकते हैं और फिर 'myfu (x, y)' – akrun
पर कॉल करें, मुझे लगता है कि समस्या 'लापता' फ़ंक्शन को कार्यान्वित करने के तरीके में है। –