大家好:
目標是抓出每個ID在不同門市的第一次點餐時間(客人進場多久會點餐)
我的想法是依照店名與ID去分類,再找出最小的時間差,但是最小時間差(rank那段)跑不出來,想請教一下原因,或是有其他寫法可以完成這個題目。謝謝~
yaa <- y %>%
mutate(幾分鐘=difftime(點餐時間,進場時間,units = c("min")))%>%
group_by(店名,ID) %>%
rank(幾分鐘,na.last = TRUE, ties.method=c("min"))
Error in base::"rank"(x, ...) : unused argument (幾分鐘)
rank只可以對一維度的向量(vector)進行排序。
如果要對資料框架(data frame)進行排序,可以用arrange:
yaa <- y %>%
mutate( 幾分鐘 = difftime( 點餐時間, 進場時間, units = c("min") ) ) %>%
arrange( 店名, ID, 幾分鐘 )
如果只是要根據店名與ID分類,找出最小的時間差,可以在group_by之後,用distinct:
yaa <- y %>%
mutate( 幾分鐘 = difftime( 點餐時間, 進場時間, units = c("min") ) ) %>%
group_by( 店名, ID ) %>%
distinct( 店名, ID, min(幾分鐘) )