名前付きリスト
CoddyのRジャーニー「基礎」セクションの一部 — レッスン 74/78。
名前付きベクトルと同様に、リストの要素に名前を割り当てることができます。これにより、コードの可読性が向上し、数値的な位置ではなく、意味のあるラベルによって要素にアクセスできるようになります。
リストを作成する際に名前を割り当てることができます:
person <- list(name = "Alice", age = 25, active = TRUE)
print(person)出力:
$name
[1] "Alice"
$age
[1] 25
$active
[1] TRUE出力に [[1]] の代わりに $name が表示されていることに注目してください。名前付き要素にアクセスするには、$ 演算子を使用します:
person <- list(name = "Alice", age = 25, active = TRUE)
print(person$age)出力:
[1] 25名前を文字列として二重括弧を使用することもできます。これは、名前が変数に格納されている場合に便利です:
person <- list(name = "Alice", age = 25)
print(person[["name"]])出力:
[1] "Alice"名前付き要素の変更も同様に行います。既存の値を変更したり、新しい値を追加したりするには、$ を使用します:
person <- list(name = "Alice", age = 25)
person$age <- 26
person$city <- "Paris"
print(person)出力:
$name
[1] "Alice"
$age
[1] 26
$city
[1] "Paris"チャレンジ
簡単3行の入力が与えられます:
- 本のタイトル (例:
The Great Gatsby) - 本の著者 (例:
F. Scott Fitzgerald) - 出版年 (例:
1925)
以下の操作を実行してください:
title、author、yearの3つの要素を持つbookという名前付きリストを作成します(year は数値型に変換してください)$演算子を使用して本のタイトルを表示します- 名前を文字列として指定し、二重ブラケットを使用して本の出版年を表示します
$演算子を使用して、yearを1年後の値に更新します- 値が
TRUEであるavailableという新しい要素を追加します - 更新されたリスト全体を表示します
例えば、入力が以下の場合:
1984
George Orwell
1949出力は以下のようになります:
[1] "1984"
[1] 1949
$title
[1] "1984"
$author
[1] "George Orwell"
$year
[1] 1950
$available
[1] TRUE解説:
book$titleはタイトルの値を表示しますbook[["year"]]は元の出版年を表示します- 出版年が 1949 から 1950 に更新されます
- 値が
TRUEの新しいavailable要素が追加されます
チートシート
リストの要素に名前を割り当てることで、可読性を高め、意味のあるラベルでアクセスできるようになります。
作成時に名前を割り当てて、名前付きリストを作成します:
person <- list(name = "Alice", age = 25, active = TRUE)$ 演算子を使用して、名前付き要素にアクセスします:
person$age # 25を返します名前を文字列として指定し、二重ブラケットを使用して名前付き要素にアクセスします:
person[["name"]] # "Alice"を返します既存の名前付き要素を修正します:
person$age <- 26新しい名前付き要素を追加します:
person$city <- "Paris"自分で試してみよう
# 入力を読み込む
con <- file("stdin", "r")
title <- suppressWarnings(readLines(con, n = 1))
author <- suppressWarnings(readLines(con, n = 1))
year <- suppressWarnings(readLines(con, n = 1))
close(con)
# TODO: 以下にコードを記述してください
# 1. title、author、year(yearは数値型に変換)を要素に持つ「book」という名前付きリストを作成します
# 2. $ 演算子を使用して本のタイトルを表示します
# 3. 名前を文字列として指定した二重ブラケットを使用して本の出版年を表示します
# 4. $ 演算子を使用して出版年を1年後に更新します
# 5. 値が TRUE の「available」という新しい要素を追加します
# 6. 更新された完全なリストを表示しますこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。