English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
リストはR言語のオブジェクトの集合で、異なるタイプのデータを保存するために使用されます。これには数字、文字列、ベクター、別のリストなどが含まれます。もちろん、行列や関数も含まれます。
R言語では list() 関数を使用してリストを作成します。
以下の例では、文字列、ベクター、数字を含むリストを作成します:
list_data <- list("w3codebox", "google", c(11,22,33), 123, 51.23, 119.1) print(list_data)
以下のコードを実行すると、結果が表示されます:
[[1]] [1] "w3codebox" [[2]] [1] "google" [[3]] [1] 11 22 33 [[4]] [1] 123 [[5]] [1] 51.23
リストの要素に名前を設定するには names() 関数を使用できます:
# リストにはベクター、行列、リストが含まれています list_data <- list(c("Google","w3codebox","Taobao"), matrix(c(1,2,3,4,5,6), nrow = 2), list("w3codebox",12.3)) # リストの要素に名前を設定する names(list_data) <- c("Sites", "Numbers", "Lists") # リストを表示します print(list_data)
以下のコードを実行すると、結果が表示されます:
$Sites [1] "Google" "w3codebox" "Taobao" $Numbers [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6 $Lists $Lists[[1]] [1] "w3codebox" $Lists[[2]] [1] 12.3
リストの要素はインデックスを使用してアクセスできます。以下のように使用する場合: names() 関数名を設定した後、対応する名前でアクセスすることもできます:
# リストにはベクター、行列、リストが含まれています list_data <- list(c("Google","w3codebox","Taobao"), matrix(c(1,2,3,4,5,6), nrow = 2), list("w3codebox",12.3)) # リストの要素に名前を設定する names(list_data) <- c("Sites", "Numbers", "Lists") # リストを表示します print(list_data[1]) # リストの3番目の要素にアクセスします print(list_data[3]) # 最初のベクター要素にアクセスします print(list_data$Numbers)
以下のコードを実行すると、結果が表示されます:
$Sites [1] "Google" "w3codebox" "Taobao" $Lists $Lists[[1]] [1] "w3codebox" $Lists[[2]] [1] 12.3 [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6
リストに追加、削除、更新の操作を行うことができます。以下の例を参照してください:
# リストにはベクター、行列、リストが含まれています list_data <- list(c("Google","w3codebox","Taobao"), matrix(c(1,2,3,4,5,6), nrow = 2), list("w3codebox",12.3)) # リストの要素に名前を設定する names(list_data) <- c("Sites", "Numbers", "Lists") # 要素を追加する list_data[4] <- "新たな要素" print(list_data[4]) # 要素を削除する list_data[4] <- NULL # 削除後の表示は NULL になります print(list_data[4]) # 要素を更新する list_data[3] <- "我が交換する第三要素" print(list_data[3])
以下のコードを実行すると、結果が表示されます:
[[1]] [1] "新たな要素" $<NA> NULL $Lists [1] "我が交換する第三要素"
複数のリストを一つのリストにマージするには c() 関数を使用します:
# 二つのリストを作成する list1 <- list(1,2,3) list2 <- list("Google","w3codebox","Taobao") # リストをマージする merged.list <- c(list1,list2) # マージされたリストを表示する print(merged.list)
以下のコードを実行すると、結果が表示されます:
[[1]] [1] 1 [[2]] [1] 2 [[3]] [1] 3 [[4]] [1] "Google" [[5]] [1] "w3codebox" [[6]] [1] "Taobao"
リストをベクターに変換するには unlist() 関数を使用して、リストをベクターに変換することで、算術演算が便利になります:
# リストを作成する list1 <- list(1:5) print(list1) list2 <-list(10:14) print(list2) # ベクターに変換する v1 <- unlist(list1) v2 <- unlist(list2) print(v1) print(v2) # 二つのベクターを足し合わせる result <- v1+v2 print(result)
以下のコードを実行すると、結果が表示されます:
[[1]] [1] 1 2 3 4 5 [[1]] [1] 10 11 12 13 14 [1] 1 2 3 4 5 [1] 10 11 12 13 14 [1] 11 13 15 17 19