2017-10-06 3 views
0

私の人生のために、列名をgrepするために私のリストを通してlapplyをどうやって解決するのか分かりません。grepでlapplyを使ってリストの列を削除する方法

tl1 <- trend1[,grep("Date|AIR|LSL",colnames(trend1))] 

しかし、私はtrend12を通じてtrend1を持っています。ここでは

は1つのデータフレーム上で動作するコードです。これをリストにして、grepをリストの各要素に適用して、tl1からtl12のデータフレームを取得するにはどうすればよいですか?

また、私はforループを使いたいと思います。

+0

リストにtrend1を12とした場合、 'lapply(list_of_dfs、function(df)df [、grep(" Date | AIR | LSL "、colnames(df))])'を実行する必要があります。 – Abdou

答えて

0

すでにお使いのR環境にtrend1データフレームtrend12経由を持っていると仮定すると、あなたが必要としない1つのリストにそれらをすべて入れて、列を削除するlapplyを使用することができます。

# mget gets the dataframes whose names are returned by ls 
list_of_dfs <- mget(ls(pattern="trend\\d{1,2}")) 

# loop through the dataframes and make the changes 
new_dfs <- lapply(list_of_dfs, function(df) df[,grep("Date|AIR|LSL",colnames(df))]) 

を、私はこのことができます願っています。

関連する問題