は、例えば、以下の3は、(ベクトルがリストに保存されているように、この例では、できるだけ単純である)取り出すことができ、あなたは機能のための可能な引数としてリストの未定義のNRを持っていると仮定しますmapply複数の未定義の引数
私はすべての3つのリストの共通部分を計算したい場合はa <- list(c(1,2,3,4,5))
b <- list(c(3,6,7,2,1))
c <- list(c(3,9,8))
、次のようにこれを行うことができます。
Map(intersect,c,Map(intersect,a,b))
# or equivalent:
mapply(intersect,c,mapply(intersect,a,b,SIMPLIFY=F))
# [1] 3
をしかし、どのように、私は未定義れる引数のNRを変更できますか?私は...
について読んでいますが、うまく動作しません。
intersectio <- function(...){
Map(function(...){
intersect(...)
})
}
Q:最初のアイデアは...
によって定義された複数のリスト引数を持つことができる機能を、書くことでした。しかし交差を再帰的に適用されなければならないので、それは、もちろん動作しません。 Rでこれを達成する方法はありますか?
Q2:入れ子構造のリスト構造を持つ更新された例です。この場合、どのようにすることができますか?つまり、親リストのすべてのサブリストと、他の親リストの関連するサブリスト(同じインデックス)と交差しますか?
a <- list(list(c(1,2,3,4,5)),list(c(3,6,7,2,1)),list(c(3,9,8)))
b <- list(list(c(1,2)),list(c(3,6,9,11,12)),list(c(3)))
c <- list(list(c(1,9)),list(c(65,23,12)),list(c(14,15)))
'ヘルプ( "削減")' – Roland
はintersectio < - 機能(...){(交差、...)を低減}のいずれかに動作しません。さらに、私の議論は実際にはネストされたリストであり、上記のようにリストの単純なベクトルではありません。だからReduceを適用するだけで簡単ではありません... – user3032689
'関数(x、y)マップ(交差、x、y)、リスト(a、b、c))'を減らしてもいいですか?あなたは代表的な再現可能な例を提供する必要があります。 – Roland