DT<-tibble::tribble(
~WORK_DEPT, ~EMP_ID, ~EMP_NAME, ~PUNCH_OT, ~MAN_OT, ~OT_DATE, ~PUNCH_1, ~PUNCH_2, ~OT_PUNCH1, ~OT_PUNCH2, ~DEPT_NAME,
2L, 100976L, "LOKESH KUMAR", 4L, 0L, "19-Apr-18", 5.47, 18.17, 13.58, 18.17, "ACCOUNTS",
2L, 503053L, "AJEET SINGH", 5L, 0L, "19-Apr-18", 21.38, 6.07, NA, 22.38, "ACCOUNTS",
4L, 100042L, "BALWANT SINGH", 3L, 4L, "19-Apr-18", 5.39, 14.34, 13.35, 18.04, "SECURITY",
4L, 100761L, "DHARAM PAL", 4L, 4L, "19-Apr-18", 5.48, 14.38, 13.38, 18.04, "SECURITY",
4L, 100797L, "SATYAVIR SINGH", 4L, 4L, "19-Apr-18", 21.37, 6.03, 17.43, 22.29, "SECURITY",
5L, 100139L, "BALBIR SINGH", 4L, 5L, "19-Apr-18", NA, 14.35, 13.54, 18.57, "PRESSURE DIE CASTING",
5L, 100319L, "PARMOD KUMAR", 4L, 4L, "19-Apr-18", 5.51, 18.23, 14.19, 18.23, "PRESSURE DIE CASTING",
5L, 100718L, "JAGNESH KUMAR", 3L, 4L, "19-Apr-18", 5.49, 18.23, 14.19, 18.23, "PRESSURE DIE CASTING",
5L, 100785L, "SURENDRA SINGH", 4L, 5L, "19-Apr-18", 5.51, NA, 14.03, 18.57, "PRESSURE DIE CASTING",
5L, 100850L, "JANVESH KUMAR", 12L, 4L, "19-Apr-18", 21.31, 6.23, 17.42, 6.24, "PRESSURE DIE CASTING",
5L, 100977L, "JITENDRA KUMAR PAL", 12L, 4L, "19-Apr-18", 21.39, 6.23, 17.52, 6.24, "PRESSURE DIE CASTING",
5L, 203962L, "RAJKUMAR", 12L, 4L, "19-Apr-18", 21.3, 6.07, NA, 6.08, "PRESSURE DIE CASTING",
5L, 204070L, "LALIT KUMAR", 5L, 0L, "19-Apr-18", 21.38, 6.07, 17.42, 22.54, "PRESSURE DIE CASTING",
5L, 204280L, "SURENDRA KUMAR", 12L, 0L, "19-Apr-18", 21.52, 6.06, 17.59, 6.07, "PRESSURE DIE CASTING",
5L, 204325L, "KAMLESH DUBEY", 4L, 4L, "19-Apr-18", 5.55, 14.42, 13.49, NA, "PRESSURE DIE CASTING",
5L, 204332L, "VINDESHWAR RAY", 0L, 0L, "19-Apr-18", 5.51, 14.41, 13.46, 14.36, "PRESSURE DIE CASTING",
5L, 204333L, "VISHVENDRA", 12L, 4L, "19-Apr-18", 21.36, 6.23, 17.53, 6.24, "PRESSURE DIE CASTING",
5L, 204386L, "VIJAY PAL", 4L, 4L, "19-Apr-18", 5.55, 18.01, 14.24, 18.02, "PRESSURE DIE CASTING",
5L, 204566L, "TINKU KALITA", 4L, 0L, "19-Apr-18", 21.32, 6.07, 17.51, NA, "PRESSURE DIE CASTING",
5L, 204600L, "SANDEEP JAISWAL", 4L, 4L, "19-Apr-18", 5.46, 17.59, 13.49, 18.01, "PRESSURE DIE CASTING",
5L, 204607L, "VISHVENDRA SINGH", 8L, 8L, "19-Apr-18", 5.53, 22.03, 14.13, 22.04, "PRESSURE DIE CASTING"
)
DT %>% setDT
DT[,':='(OT_DATE=as.POSIXct.numeric(OT_DATE,origin = '1970-01-01'),
PUNCH_1=hm(PUNCH_1),
PUNCH_2=hm(PUNCH_2),
OT_PUNCH1=hm(OT_PUNCH1),
OT_PUNCH2=hm(OT_PUNCH))]
DT %>%
mutate(PUNCH_1=hm(PUNCH_1)) %>%
mutate(PUNCH_2=hm(PUNCH_2)) %>%
mutate(OT_PUNCH1=hm(OT_PUNCH1)) %>%
mutate(OT_PUNCH2=hm(OT_PUNCH2))
I am trying to convert time as normal integer to hours and minutes but the code doesn't work the data.table way but it does in dplyr.
I would like to use the same code in data.table for speed. is there any way I can do that.