私はネストされたlapplyのための効率的な代替案を探しています、私はネストされた構造を使用してRコミュニティでは評価されないと思います。誰でも可能なアイデアを提案することができますか、またはカスタム関数でネストlapplyを使用しないようにする方法はありますか?ここでRでネストされたlapplyを使用しないようにするには?
は、迅速な再現性の例である:
a.big <- a[a$score >10,]
a.sml <- a[(a$score > 6 & a$score <= 10),]
a.non <- a[a$score < 6,]
a_new <- list('big'=a.big, 'sml'=a.sml)
tar.list <- list(b,c)
test <- lapply(a_new, function(ele_) {
re <- lapply(tar.list, function(li) {
out <- base::setdiff(ele_, li)
return(out)
})
})
目的:
避ける私はlapplyネストされたが、これを回避したいを使用したデータ
a <- data.frame(
start=seq(1, by=9, len=18), stop=seq(6, by=9, len=18),
ID=letters[seq(1:18)], score=sample(1:25, 18, replace = FALSE))
b <- data.frame(
start=seq(2, by=11, len=20), stop=seq(8, by=11, len=20),
ID=letters[seq(1:20)], score=sample(1:25, 20, replace = FALSE))
c <- data.frame(
start=seq(4, by=11, len=25), stop=seq(9, by=11, len=25),
ID=letters[seq(1:25)], score=sample(1:25, 25, replace = FALSE))
機能をシミュレート
そのネストされたlapplyを使用して、その効率的な代替案を見つけること。私は、再現するのが簡単で速くなければならない出力をより良く表現し、下流/下流の計算を高速/簡単に行うことを意味します。これを行うための一般的なアプローチはありますか?
test
にネストされたlapplyを使用しないようにするにはどうすればよいですか?誰もがこの問題を解決するための可能なアイデアを提案できますか?おかげ
敬具:
新しいRセッションでサンプルコードを実行しようとしましたか?また、あなたは何をしようとしているのか、単にコードを貼り付けるのかを記述する必要があります。 – hrbrmstr
@hrbrmstr:はい、試してみましたが、カスタム関数でネストされたlapplyを使用した場合、期待していないものが返されます。上記のコードは、私の関数の結果に基づいてシミュレートされます。私は大きなdata.frameオブジェクトを扱うために入れ子構造を置き換えるための一般的な戦略を模索しています。この問題を回避するための一般的なアプローチは何ですか? – user88911
@ジンボウ:リストのようなオブジェクト以外のすべての出力を受け入れることができます。あなたは答えとしてあなたの可能なアプローチをここで詳しく説明できますか? – user88911