Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
处理时间输出R之间的差异_R_Time_Format - Fatal编程技术网

处理时间输出R之间的差异

处理时间输出R之间的差异,r,time,format,R,Time,Format,我有一个df,我用一个唯一的ID减去两个日期的时间差。我确实得到了正确的输出,但是,我对时差输出的一致性有一个问题。例如,在第2行,计算出的差值为1.500,即90分钟或1小时30分钟。第8行计算出的差值为20.00,即20分钟 我尝试将此列转换为标准时间格式,但没有成功。如果我试图将该列转换为分钟,那么以分钟为单位的时间会人为地增加,而以小时为单位的时间则是正确的。任何人都可以提供任何反馈,让我有一个方法将此列转换为一致的格式,最好是分钟,这将是非常有帮助的 library(data.tabl

我有一个df,我用一个唯一的ID减去两个日期的时间差。我确实得到了正确的输出,但是,我对时差输出的一致性有一个问题。例如,在第2行,计算出的差值为1.500,即90分钟或1小时30分钟。第8行计算出的差值为20.00,即20分钟

我尝试将此列转换为标准时间格式,但没有成功。如果我试图将该列转换为分钟,那么以分钟为单位的时间会人为地增加,而以小时为单位的时间则是正确的。任何人都可以提供任何反馈,让我有一个方法将此列转换为一致的格式,最好是分钟,这将是非常有帮助的

library(data.table)
library(dplyr)
library(lubridate)
library(anytime)

df = vroom::vroom(file = "datasample.csv")

df$Time=anytime(df$Time)

df=df %>% 
  group_by(x4) %>%
  mutate(difference = ifelse(Time == max(Time), max(Time) - min(Time), NA))


##Attempting to convert column to standard format
# diffs.hours <- floor(as.numeric(df$difference))
# diffs.minutes <- (as.numeric(df$difference)%%1 * 60)
 

#60  * as.numeric(times(df$difference))



库(data.table)
图书馆(dplyr)
图书馆(lubridate)
图书馆(随时)
df=vroom::vroom(file=“datasample.csv”)
df$时间=任何时间(df$时间)
df=df%>%
分组依据(x4)%>%
变异(差异=ifelse(时间==最大(时间),最大(时间)-最小(时间),NA))
##正在尝试将列转换为标准格式

#diffs.hours您可以使用
difftime
减去可以控制单位的时间

library(dplyr)

df <- df %>% 
        group_by(x4) %>%
        mutate(difference = ifelse(Time == max(Time), 
                             difftime(max(Time), min(Time), units = 'mins'), NA))
库(dplyr)
df%
分组依据(x4)%>%
变异(差异=ifelse(时间==max(时间)),
difftime(最大(时间)、最小(时间)、单位=‘分钟’、NA))