これは以前の私の質問からの続きです: Dplyr select_ and starts_with on multiple values in a variable list
さまざまな場所にあるさまざまなセンサーからデータを収集しています。データ出力は次のようなものです。
df<-data.frame(date=c(2011,2012,2013,2014,2015),"Sensor1 Temp"=c(15,18,15,14,19),"Sensor1 Pressure"=c(1001, 1000, 1002, 1004, 1000),"Sensor1a Temp"=c(15,18,15,14,19),"Sensor1a Pressure"=c(1001, 1000, 1002, 1004, 1000), "Sensor2 Temp"=c(15,18,15,14,19),"Sensor2 Pressure"=c(1001, 1000, 1002, 1004, 1000), "Sensor2 DewPoint"=c(10,11,10,9,12),"Sensor2 Humidity"=c(90, 100, 90, 100, 80))
問題は(私が思うに)似ています:select_とstarts_with Rを使用するか、dplyr で 複数の文字列に基づいて列を選択します
たとえば場所でセンサーを検索したいので、データフレームを検索するリストがあり、タイムスタンプも含まれています。しかし、複数のセンサー (またはセンサーの種類など) を検索すると、検索がうまくいきません。これを達成するために dplyr (NSE または SE) を使用する方法はありますか?
FindLocation = c("date", "Sensor1", "Sensor2")
df %>% select(matches(paste(FindLocation, collapse="|"))) # works but picks up "Sensor1a" and "DewPoint" and "Humidity" data from Sensor2
また、次のような混合検索を追加したい:
FindLocation = c("Sensor1", "Sensor2") # without selecting "Sensor1a"
FindSensor = c("Temp", "Pressure") # without selecting "DewPoint" or "Humidity"
select が FindSensor と FindLocation を組み合わせて、Sensor1 と Sensor2 の Temp と Pressure データを選択することを期待しています (Sensor1a を選択せずに)。データと列見出しを含むデータフレームを返します。
日付、センサー 1 温度、センサー 1 圧力、センサー 2 温度、センサー 2 圧力
どうもありがとうございました!