两条相同推文之间的时差

时间:2014-11-13 04:21:30

标签: r twitter dataframe

如何计算两个相同推文之间的时差(从文本角度来看)并在数据框中添加一列以显示时差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小时

1 个答案:

答案 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