データ フレームを作成する関数があるとします。以下のように、さまざまな入力値でその関数を実行し、結果を 1 つの大きなデータ フレームにまとめて rbind したいと思います。
CreateDataFrame <- function(type="A", n=10, n.true=8) {
data.frame(success=c(rep(TRUE, n.true), rep(FALSE, n - n.true)), type=type)
}
df <- do.call(rbind, lapply(toupper(letters[1:5]), CreateDataFrame))
私の CreateDataFrame 関数は 3 つの引数を取ります。上記の例では、2 番目と 3 番目の引数は一定に保たれます。上記と同じことをしたいのですが、呼び出しごとに 2 番目と 3 番目の引数を変更します。次のように、mapplyを使用する必要があると思います:
mapply("CreateDataFrame", type=toupper(letters[1:5]), n=10, n.true=8:4)
mapply がリストを返さないため問題が発生しており、実行できませんdo.call(rbind, mapply(...))
。上の例のように、単一のデータ フレームを作成するにはどうすればよいですか?
mapply がリストのマトリックスを返しているようです。データフレームのリストを返すことを期待していました。どうすればいいですか?