第4章 Rベースで抽出・集計 ・ ノック 49 / 100 ・ [[000 - はじめに(使い方と目次)|目次]]<br>
← 前 [[048 - 値の大きい順に並べ替える]] ・ 次 → [[050 - 種類ごとの個数を数える]]
> [!info] `
で新しい列を作る
> `データ$新しい列名 <- 計算式` と書くと、計算結果をデータフレームの新しい列として追加できます。計算はすべての行に対して一度に行われます(ベクトル演算)。たとえば長さを幅で割った比率を求めて `ratio` 列として追加したいときは、`iris$ratio <- iris$Sepal.Length / iris$Sepal.Width` と書くだけです。元のデータフレームが直接書き換えられる点に注意してください。
## 問題
`iris` に `Sepal.Length` を `Sepal.Width` で割った `ratio` という列を追加して、先頭6行を表示してください。
> [!tip] ヒント
> `iris$ratio <- iris$Sepal.Length / iris$Sepal.Width` で列を追加してから `head(iris)` で確認します。2行のコードになります。
> [!success]- 回答を見る
> ```r
> iris$ratio <- iris$Sepal.Length / iris$Sepal.Width
> head(iris)
> ```
> ```
> Sepal.Length Sepal.Width Petal.Length Petal.Width Species ratio
> 1 5.1 3.5 1.4 0.2 setosa 1.457143
> 2 4.9 3.0 1.4 0.2 setosa 1.633333
> 3 4.7 3.2 1.3 0.2 setosa 1.468750
> 4 4.6 3.1 1.5 0.2 setosa 1.483871
> 5 5.0 3.6 1.4 0.2 setosa 1.388889
> 6 5.4 3.9 1.7 0.4 setosa 1.384615
> ```
> 6列目に `ratio` が追加されました。元のデータフレーム `iris` 自体が変更されているため、以降のノックでも `ratio` 列が含まれた状態になります。