如何计算两个相同推文之间的时差(从文本角度来看)并在数据框中添加一列以显示时差timediff(新列名称)td3 = t3-t2。 td13 = t13-t12如果t13和t12都是相同的文本/推文。
输入数据
推文文字TIME-Stamp
rt aamaadmiparty arvindkejriwal离开2014-03-24 17:18:53
rt aamaadmiparty arvindkejriwal离开2014-03-24 22:37:11
rt aamaadmiparty arvindkejriwal离开2014-03-24 22:44:51
rt aamaadmiparty arvindkejriwal离开2014-03-25 13:24:31
rt aamaadmiparty下载aap 2014-03-25 19:31:06
rt aamaadmiparty下载aap 2014-03-25 19:34:29
rt aamaadmiparty下载aap 2014-03-25 19:42:10
rt aamaadmiparty下载aap 2014-03-25 19:53:38
所需的OutPut数据
推文 TIME-Stamp T-Diff
rt aamaadmiparty arvindkejriwal离开2014-03-24 17:18:53 0 rt aamaadmiparty arvindkejriwal leaves 2014-03-24 22:37:11 5.305小时 rt aamaadmiparty arvindkejriwal leaves 2014-03-24 22:44:51 5.432778小时
rt aamaadmiparty下载aap 2014-03-25 19:31:06 0 rt aamaadmiparty下载aap 2014-03-25 19:34:29 3.383333分钟 rt aamaadmiparty下载aap 2014-03-25 19:42:10 11.06667分钟 rt aamaadmiparty下载aap 2014-03-25 23:36:57 4.0975小时
此代码正在运行,但如何使用循环为大型数据集添加到列中并不清楚.... df是工作数据帧..
difftime(DF [49,2],DF [48.2]) 时差为3.383333分钟 difftime(DF [51,2],DF [48.2]) 时差11.06667分钟 DF $ diff_time&LT ;-( difftime(DF [65,2],DF [48.2])) difftime(DF [65,2],DF [48.2]) 时差4.0975小时
答案 0 :(得分:0)
插图
# toy data
time_1 = strptime("3/22/2014 15:08", "%m/%d/%Y %H:%M")
time_2 = strptime("3/22/2014 15:15", "%m/%d/%Y %H:%M")
ID = "user_1"
df = data.frame(ID, time_1, time_2)
# ID time_1 time_2
# 1 user_1 2014-03-22 15:08:00 2014-03-22 15:15:00
# by base R
df$diff_time <- with(df, time_2 - time_1)
# by dplyr
library(dplyr)
df %>% mutate(diff_time = time_2 - time_1)
# you get
# ID time_1 time_2 diff_time
# 1 user_1 2014-03-22 15:08:00 2014-03-22 15:15:00 7 mins