リストから要素を削除するにはどうすればいいですか? 質問する

リストから要素を削除するにはどうすればいいですか? 質問する

リストがあり、そこから 1 つの要素を削除したいです。どうすればいいでしょうか?

リファレンスマニュアルでこの関数の明白な名前が何であるかを調べようとしましたが、適切なものは見つかりませんでした。

ベストアンサー1

リストをその場で変更したくない場合は (たとえば、要素を削除したリストを関数に渡す場合)、インデックスを使用できます。負のインデックスは「この要素を含めない」ことを意味します。

x <- list("a", "b", "c", "d", "e")  # example list

x[-2]        # without 2nd element

x[-c(2, 3)]  # without 2nd and 3rd

また、論理インデックス ベクトルも便利です。

x[x != "b"]  # without elements that are "b"

これはデータフレームでも機能します:

df <- data.frame(number = 1:5, name = letters[1:5])

df[df$name != "b", ]      # rows without "b"

df[df$number %% 2 == 1, ] # rows with odd numbers only

おすすめ記事