【发布时间】:2019-12-12 17:55:37
【问题描述】:
我有一个包含客户、他们入住的酒店以及酒店的到达和离开日期的数据框。
client<-data.frame( id = 1:5,
arrive = c("2019-05-01", "2018-01-03", "2019-04-05", "2015-05-03", "2017-12-02"),
departure = c("2019-05-31", "2018-01-21", "2019-04-25", "2015-05-13", "2017-12-30"),
reg_com= c(12654, 12657, 12666, 12589, 12546))
client[, 2] <-as.Date(client[, 2])
client[, 3] <-as.Date(client[, 3])
# I don't care about the years
client[, 2]<-format(client[, 2], format="%m-%d")
client[, 3]<-format(client[, 3], format="%m-%d")
还有一个包含酒店和开业日期的数据框。开业日期的年份对我来说并不重要,因为酒店每年都在同一天开业。 X1O 和 X1C 是指酒店营业的第一期,X2O 和 X2C 是指酒店营业的第二期。 即酒店营业= [X1O, X1C] and [X2O, X2C] and [X3O, X3C]。
hotel_periodes<- data.frame(reg_com = c(12654, 12657, 12666, 12589, 12546),
x1O = c("2018-12-01", "2019-03-04", "2019-04-30", "2018-12-01","2019-04-01"),
X1C = c("2019-04-01", "2019-05-04", "2019-12-31", "2019-01-01", "2019-06-01"),
X2O = c(NA, "2019-06-30", NA, "2019-02-20", "2019-07-01"),
X2C = c(NA, "2019-09-30", NA, "2019-02-30","2019-11-02"),
X3O = c(NA, "2019-12-01", NA, "2019-06-20","2019-12-01"),
X3C = c(NA, "2019-01-30", NA, "2019-11-01","2019-12-30")
)
hotel_periodes[, c(2)]<-as.Date(hotel_periodes[, c(2)])
hotel_periodes[, c(3)]<-as.Date(hotel_periodes[, c(3)])
hotel_periodes[, c(4)]<-as.Date(hotel_periodes[, c(4)])
hotel_periodes[, c(5)]<-as.Date(hotel_periodes[, c(5)])
hotel_periodes[, c(6)]<-as.Date(hotel_periodes[, c(6)])
hotel_periodes[, c(7)]<-as.Date(hotel_periodes[, c(7)])
# I don't care about year
hotel_periodes[, c(2)]<-format(hotel_periodes[, c(2)], format="%m-%d")
hotel_periodes[, c(3)]<-format(hotel_periodes[, c(3)], format="%m-%d")
hotel_periodes[, c(4)]<-format(hotel_periodes[, c(4)], format="%m-%d")
hotel_periodes[, c(5)]<-format(hotel_periodes[, c(5)], format="%m-%d")
hotel_periodes[, c(6)]<-format(hotel_periodes[, c(6)], format="%m-%d")
hotel_periodes[, c(7)]<-format(hotel_periodes[, c(7)], format="%m-%d")
我想知道客户入住酒店的时间是开门还是关门。
result<-data.frame( id = 1:5,
arrive = c("2019-05-01", "2018-01-03", "2019-04-05", "2015-05-03", "2017-12-02"),
departure = c("2019-05-31", "2018-01-21", "2019-04-25", "2015-05-13", "2017-12-30"),
reg_com= c(12654, 12657, 12666, 12589, 12546),
OPEN_HOTEL= c(FALSE, TRUE, FALSE, FALSE, TRUE )
)
【问题讨论】: