[解決済み] data.frameの行をN回繰り返す。
2023-01-27 12:03:31
質問
以下のようなデータフレームがあります。
data.frame(a = c(1,2,3),b = c(1,2,3))
a b
1 1 1
2 2 2
3 3 3
行を繰り返したい n 回繰り返したい。例えば、ここでは行を3回繰り返しています。
a b
1 1 1
2 2 2
3 3 3
4 1 1
5 2 2
6 3 3
7 1 1
8 2 2
9 3 3
これをRで簡単にできる関数はないでしょうか?ありがとうございます!
どのように解決するのですか?
EDIT: より良い現代のRの答えに更新しました。
あなたが使用できるのは
replicate()
とすると
rbind
を実行し、結果を元に戻す。rownameは自動的に1:nrowsから実行されるように変更されます。
d <- data.frame(a = c(1,2,3),b = c(1,2,3))
n <- 3
do.call("rbind", replicate(n, d, simplify = FALSE))
より伝統的な方法はインデックスを使うことですが、ここではrownameの変更はそれほどきちんとしたものではありません(しかし、より有益なものです)。
d[rep(seq_len(nrow(d)), n), ]
以下は上記の改良版で、最初の二つは
purrr
関数型プログラミング、イディオムプールです。
purrr::map_dfr(seq_len(3), ~d)
と、より慣用的でない purrr (同じ結果、より厄介ですが) があります。
purrr::map_dfr(seq_len(3), function(x) d)
を使い、最後にリスト適用ではなくインデックス付けによって
dplyr
:
d %>% slice(rep(row_number(), 3))
関連
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
-
[解決済み] Rの再現性のある優れた例題の作り方
-
[解決済み] 既存のDataFrameに新しい列を追加する方法は?
-
[解決済み] データフレーム列の名前によるドロップ
-
[解決済み] DataFrameの行をシャッフルする
-
[解決済み] リストをデータフレームに変換する
-
[解決済み] 空のdata.frameを作成する
-
[解決済み] [Solved] data.frameで全てまたは一部のNA(欠損値)を含む行を削除する。
-
[解決済み】data.frameのカラムを因子から文字に変換する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
R: 環境と変数のスコープ問題
-
[解決済み] Rで複数行のコメントを持つことは可能ですか?[重複している]。
-
[解決済み] グループ化関数(tapply、by、aggregate)と*applyファミリ
-
[解決済み] 情報を損なわずに因数を整数値に変換するには?
-
[解決済み] 先頭と末尾の空白を削除するにはどうしたらよいですか?
-
[解決済み] ベクトル中のある要素のインデックスを求めるR関数はありますか?
-
[解決済み】エラー:Rで関数が見つかりませんでした。
-
[解決済み] ggplot2 で個々のファセットにテキストをアノテートする
-
[解決済み] 2つの単語の最初の文字を大文字にします。
-
[解決済み] data.frameの行を繰り返す[重複]。