第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` 列が含まれた状態になります。