セクション 5. 章 6
single
行の操作
メニューを表示するにはスワイプしてください
列と同様に、データフレームの行も追加や削除が可能。
単一行の追加
単一の行を追加するには、次に利用可能な行インデックス(nrow(data) + 1)に新しいエントリを代入する。データフレームは異なる型の値を保持できるため、新しい行はリスト(またはデータフレーム)として指定する必要がある。
注意
データフレーム作成時、デフォルトで文字列値がファクター型に変換される場合がある。これは新しい行を追加する際に問題となることがあるため、データフレーム作成時は stringsAsFactors = FALSE を設定して回避する。
例
123456789name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # Add a new row test[nrow(test) + 1, ] <- list('Angela', 35, 'F', 'Accountant') test
複数行の追加
もう一つの行の追加方法は、同じ列を持つ2つのデータフレームをmerge()関数で結合することです。これにより、複数の行を一度に追加できます。
例
123456789101112name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # New row as data a frame new_person <- data.frame('Angela', 35, 'F', 'Accountant') colnames(new_person) <- colnames(test) # Merge merge(test, new_person, all = T)
行の削除
行を削除するには、行列と同様に角括弧内で負のインデックスを使用。
例
12345678name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # Remove a row test[-1, ]
タスク
スワイプしてコーディングを開始
データフレーム store には、小さな家具店での商品の情報、価格、販売数量が含まれています。
あなたの課題は次の通りです:
'Dining chair'データフレームからstoreの行(インデックス4)を削除し、結果をstore変数に再代入してください。listアプローチを用いて、以下のデータを持つ新しい行をstoreデータフレームに追加してください:
| Item | Price | Sold |
|---|---|---|
| Kitchen cabinet | 70 | 67 |
- 変更後のデータフレームを出力してください。
解答
すべて明確でしたか?
フィードバックありがとうございます!
セクション 5. 章 6
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください