我有一个像这样的数据框:
name="xx_01"
data_1<- data.frame(name=c("xx_01","xx_02","xx_03"), start_time=c("2015-01-06 00:01:00", "2015-01-07 05:01:01","2015-01-08 10:01:02"), end_time=c("2015-01-07 00:01:00", "2015-01-08 05:01:01","2015-01-09 05:01:02"))
data_1$start_time <- as.POSIXct(data_1$start_time,format="%Y-%m-%d %H:%M:%S", tz="UTC") data_1$end_time <- as.POSIXct(data_1$end_time,format="%Y-%m-%d %H:%M:%S", tz="UTC")
如何提取与 data_1 中的名称列匹配的任何给定名称的开始和结束时间?谢谢。
答案 0 :(得分:0)
由于字符串的对象名称('name')与列名称相同,我们可以转义(!!
)以强制它检查全局环境中的对象而不是数据集中的列
library(dplyr)
data_1 %>%
filter(name == !! name) %>%
select(-name)
# start_time end_time
#1 2015-01-06 00:01:00 2015-01-07 00:01:00