[解決済み] Rのデータフレームを一行ずつ作成する
2022-05-16 22:22:27
質問
Rでデータフレームを一行ずつ構築したいのですが、いろいろ検索してみたところ、空のリストを作成し、リストのインデックスをスカラーにしておき、毎回一行のデータフレームをリストに追加してリストのインデックスを1つずつ進めるという提案しか出てきません。最後に
do.call(rbind,)
をリストに追加します。
これは動作しますが、非常に面倒に思えます。同じ目標を達成するためのもっと簡単な方法はないのでしょうか?
明らかに、私はいくつかの
apply
関数を使用できず、明示的にデータフレームを一行ずつ作成する必要がある場合を指しています。少なくとも
push
をリストの末尾に挿入する方法はありますか?
どのように解決するのですか?
行ごとに追加で増やすか、あるいは
rbind()
.
だからといって、そうすべきとは限りません。 構造を動的に成長させることは、Rでコーディングする上で最も効率の悪い方法の1つです。
もし可能であれば、data.frame全体を前もって割り当てておきましょう。
N <- 1e4 # total number of rows to preallocate--possibly an overestimate
DF <- data.frame(num=rep(NA, N), txt=rep("", N), # as many cols as you need
stringsAsFactors=FALSE) # you don't know levels yet
そして、操作中に一行ずつ挿入します。
DF[i, ] <- list(1.4, "foo")
これは任意のdata.frameに対して動作し、より効率的です。 もし、Nをオーバーした場合は、最後に空の行を縮小することができます。
関連
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
-
[解決済み] Pandas DataFrameからカラムを削除する
-
[解決済み] Pandasのデータフレームで複数の列を選択する
-
[解決済み] Pandas DataFrameの行数を取得する方法は?
-
[解決済み] データフレームの行を複数の列でソート(並び替え)する。
-
[解決済み] 既存のDataFrameに新しい列を追加する方法は?
-
[解決済み] 一行ずつ追加してPandas Dataframeを作成する
-
[解決済み】Pandas DataFrameのカラムヘッダからリストを取得する。
-
[解決済み] Rのデータフレームを一行ずつ作成する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン