我从不同位置的不同传感器收集数据,数据输出类似于:
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),"Sensor2 Temp"=c(15,18,15,14,19),"Sensor2 Pressure"=c(1001, 1000, 1002, 1004, 1000))
问题是(我认为)类似于:Using select_ and starts_with R
我想按位置搜索传感器,因此我有一个列表来搜索数据帧并包含时间戳。但是当我搜索多个传感器(或传感器类型等)时,搜索就会崩溃。有没有办法使用dplyr(NSE或SE)来实现这一目标?
Findsensor = c("Sensor1") # one value
test <- df %>% select_(.dots = ~starts_with(Findsensor)) # works
Findsensor = c("date", "Sensor1", "Sensor2") # more values
test <- df %>% select_(.dots = ~starts_with(Findsensor)) # doesn't work
这是较大管道的一部分(因此使用dplyr)并希望将选择与Shiny相结合,因此灵活性非常重要。搜索可以是不同的位置或传感器或基于字符搜索的其他变量。
非常感谢提前! 接下来是:Dplyr select_ and starts_with on multiple values in a variable list part 2
答案 0 :(得分:10)
我们可以使用正则表达式
LIKE