私は私のカスタム関数の入力としてdata.frameのリストを持っていますが、カスタム関数はdata.frameの複数のリストを返すでしょう。私は自分の関数にいくつかのコードを変更しましたが、予期しない出力を返します。誰も私にカスタム関数のコードを改善する方法を提案することはできますか?どこで私のコードに間違っていたのですか?何かヒント?最適化へdata.frameのリストをカスタム関数の入力として効率的に反復するには?
データ
myList <- list(
foo = data.frame(start=seq(1, by=4, len=6), stop=seq(3, by=4, len=6)),
bar = data.frame(start=seq(5, by=2, len=7), stop=seq(7, by=2, len=7)),
bleh = data.frame(start=seq(1, by=5, len=5), stop=seq(3, by=5, len=5))
)
カスタム関数の必要性:私は私のカスタム関数は、誰もが私を与えるobject.Can data.frameの複数のリストを返すことを期待
func <- function(set) {
# check input param
stopifnot(is.list(set))
output <- list()
require(dplyr)
for(id in 1: seq_along(set)) {
entry <- set[[id]]
self_ <- setdiff(entry, entry)
res <- lapply(set[-id], function(ele_) {
joined_ <- setdiff(entry, ele_)
})
ans <- c(list(self_), res)
names(ans) <- c(names(set[id]),names(set[-id]))
output[id] <- ans
}
return(output)
}
所望の出力
いくつかのアイデア?ありがとう
'func'はどうするのですか?今は出力形式を気にしないでください。入力にどのような計算を実行しようとしていますか? – jdobres
*「常にリストを使用しているのは退屈です」* ???これはどういう意味ですか?リストは効果的で柔軟性があります。それがあなたをより幸せにするなら、あなたはそれらに興味深い名前を付けることができます。 * "Rのどのデータ構造体が、基底Rのdata.frame"の非常に大きな複数のリストを格納するのに適しているかは、リストと環境のデータフレームのリストを持つことができる2つの構造体があります。 * boredom *以外では、リストを使用する際の問題は何ですか? – Gregor
あなたの例は再現できません。 "改善された"機能は何もしないようです。私の答えは、元の例の意図に対応しています。あなたの例が不十分なので、私はあなたにそれ以上の具体的な答えを与えることはできません。私たちはあなたの心を読むことができません。 – jdobres