[解決済み] 列の区切り文字列を分割し、新しい行として挿入する【重複
2022-06-19 03:43:56
質問
<余談
以下のようなデータフレームがあります。
+-----+-------+
| V1 | V2 |
+-----+-------+
| 1 | a,b,c |
| 2 | a,c |
| 3 | b,d |
| 4 | e,f |
| . | . |
+-----+-------+
アルファベットはそれぞれカンマで区切られた文字です。V2をカンマごとに分割し、分割された文字列を新しい行として挿入したいと思います。例えば、希望する出力は次のようになります。
+----+----+
| V1 | V2 |
+----+----+
| 1 | a |
| 1 | b |
| 1 | c |
| 2 | a |
| 2 | c |
| 3 | b |
| 3 | d |
| 4 | e |
| 4 | f |
+----+----+
を使おうとしています。
strsplit()
を使って、まず V2 を吐き出し、そのリストをデータフレームにキャストしようとしています。それはうまくいきませんでした。どんな助けでも感謝されるでしょう。
どのように解決するのですか?
別の方法を紹介します。
df <- read.table(textConnection("1|a,b,c\n2|a,c\n3|b,d\n4|e,f"), header = F, sep = "|", stringsAsFactors = F)
df
## V1 V2
## 1 1 a,b,c
## 2 2 a,c
## 3 3 b,d
## 4 4 e,f
s <- strsplit(df$V2, split = ",")
data.frame(V1 = rep(df$V1, sapply(s, length)), V2 = unlist(s))
## V1 V2
## 1 1 a
## 2 1 b
## 3 1 c
## 4 2 a
## 5 2 c
## 6 3 b
## 7 3 d
## 8 4 e
## 9 4 f
関連
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
-
[解決済み] 既存のDataFrameに新しい列を追加する方法は?
-
[解決済み] Pandas DataFrameの特定の列の値がNaNである行を削除する方法
-
[解決済み] 空のdata.frameを作成する
-
[解決済み] ggplotで凡例のタイトルを変更する方法
-
[解決済み] data.frameの1つの列の名前を変更する方法は?
-
[解決済み】data.table vs dplyr:一方がうまくできない、またはうまくできないことを行うことができますか?
-
[解決済み】data.frameのカラムを因子から文字に変換する
-
[解決済み】pandas dataframeの文字列エントリーを分割(explode)して別の行にする。
-
[解決済み] カラム内のカンマ区切り文字列を別の行に分割する
最新
-
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: エラー: $ 演算子は原子ベクトルに対して無効です。
-
[解決策】 plot.new() のエラー:図の余白が大きすぎる。
-
[R] is.data.frame(x) のエラー : (リスト) オブジェクトを 'double' 型に強制できない。
-
[解決済み] データフレームの行を複数の列でソート(並び替え)する。
-
[解決済み] グループ化関数(tapply、by、aggregate)と*applyファミリ
-
[解決済み] xkcd風のグラフを作るには?
-
[解決済み] 空のdata.frameを作成する
-
[解決済み] Rでオブジェクト(変数)が定義されているかどうかを確認するには?
-
[解決済み] [Solved] data.frameのカラムをベクトルに変換する?
-
[解決済み] カラム内のカンマ区切り文字列を別の行に分割する