によって識別される車両を分析する必要がありますID。この分析の結果には、、、および情報が含まnumericれfactorますlogical。分析で使用されるすべてのデータは 1 つのデータ フレームにあるため、関数は次のようになります。
Results <- by(Data, Data$ID, Function)
WhereFunctionは、次のような出力を提供するように設計されています。
Function <- function(DF) {
## Do stuff...
return(c(23.2, as.factor("SuperFast"), TRUE))
}
これまでのところ、このアプローチの優れている点は、非常に高速であることに加えて (forループに数時間かかったところを約 1 分かかる)、次の方法で簡単にdata.frameフォーマットできることです。
as.data.frame(do.call("rbind", Results))
しかしもちろん、すべてcを強制的に同じオブジェクト型にします。これを解決するために、文字ベクトルを吐き出すようにしました (最後にオブジェクトの種類を手動で変更するなど)。Function "rbind"do.callFunctionas.character(23.2, "SuperFast", TRUE)
row(1)異なるオブジェクト タイプを持つデータフレームにあるものを返す方法、または (2) byand c(行の場合) を使用するよりも優れた方法はありますか?
キックのために、データに使用できるものを次に示します。
Data <- data.frame(ID=c(1,2,2,3))