1. ホーム
  2. r

[解決済み] 文字列のマッチに基づくカラムの選択 - dplyr::select

2023-01-20 05:48:23

質問

たくさんの列があるデータフレーム("data")を持っています。いくつかの列は、ある文字列("search_string")を含んでいます。

どのようにすれば dplyr::select() を使用して、文字列を含む列のみを含むサブセットを取得するにはどうすればよいですか?

試してみました。

# columns as boolean vector
select(data, grepl("search_string",colnames(data)))

# columns as vector of column names names 
select(data, colnames(data)[grepl("search_string",colnames(data))]) 

どちらも動作しません。

知っているのは select() は列の代用として数値ベクトルを受け入れます 例:

select(data,5,7,9:20)

しかし、列の数値ベクトルを取得する方法がわかりません。 ID を取得する方法がわかりません。 grepl() 式から

どのように解決するのですか?

において dplyr の世界で、試してみてください。

select(iris,contains("Sepal"))

の Selection セクションを参照してください。 ?select のような他の多くのヘルパーについては starts_with , ends_with など。