2017-10-10 11 views
0

大きな関数を書いています。私はmapply関数をリストの上で実行するために使用したいと思います。mapply関数が期待通りに機能しない

私はこれ持っている:私は2つのだけのリストのように結果をしたいと思い

x <- list(1,3, 4, 5) 
y <- list(5,6,7,3) 
res <- mapply(x , y , FUN = function(x, y) double(x + y)) 
[[1]] 
[1] 0 0 0 0 0 0 

[[2]] 
[1] 0 0 0 0 0 0 0 0 0 

[[3]] 
[1] 0 0 0 0 0 0 0 0 0 0 0 

[[4]] 
[1] 0 0 0 0 0 0 0 0 

を。このように:

[[1]] 
0 0 0 0 0 

[[2]] 
0 0 0 0 0 

私は、リストの各要素ではなく、2つのリストの回答を希望します。

どうすればいいですか?

+1

出力を説明できますか?その2回の5ゼロはどこから来たのですか?現在、実際の出力の最初の要素は '1 + 5 == 6 'なので、単純に6つのゼロです。 – Axeman

+0

@missuse私はそれを試してみました: '> startpar [1] 10 10' – Heblany

+0

@Axemanコメントありがとうございます。私はあなたのように本当に驚いています。私はなぜなのか理解していない。 – Heblany

答えて

0

lapply機能を試してください。

my_list(x,y) 
m <- length(my_list) 
lapply(1:m, function(i) double(x[[i]]+y[[i]])) 

あなたのリストの長さは4ですので、出力として2つ以外にすることはできません!

関連する問題