R:将所有日期转换为一周

时间:2018-06-19 09:46:34

标签: r posixct weekday

我认为到目前为止还没有这样的问题,所有相关问题都无法解决我的问题。

我拥有:FB会话数据,每条消息都有时间戳

我想要的是:根据一周的时间(周一14:00-356个字符,等等)绘制字符数字

到目前为止我发现:为了利用所有花哨的绘图功能,我应该坚持POSIX时间。所以我尝试的是将我的时间转换为数字,减去参考星期一,模7,然后再将其转换回来。

dat$zeitpunkt =  strptime(dat$zeitpunkt, "%Y-%m-%d %H:%M") # Convert date from string to date
dat$wday = 
    as.POSIXct(
    as.numeric(dat$zeitpunkt - as.POSIXct("01-02-10 00:00",format="%d-%m-%y %H:%M")) %% 7,
    origin = "2010-02-01")

weekdays(dat$zeitpunkt[1]) # returns "Mittwoch"
weekdays(dat$wday[1])      # returns "Montag"

据我所知,我可以调整参考,直到我再次上周三,但为什么会发生?有更简单的解决方案吗?

提前致谢!

编辑:注意到时间也搞砸了:

strftime(dat$wday[1])      # "2010-02-03 01:00:02"
strftime(dat$zeitpunkt[1]) # "2012-11-28 00:50:00"

我真的不知道发生了什么:/

edit2:我想要这样的事情,只需要一周中的正确日期和时间,从星期一00:00开始(或者更晚5:00,但这是另一回事) enter image description here

1 个答案:

答案 0 :(得分:0)

  

对不起,我认为模7是愚蠢的...应该是60 * 24 * 7,因为数字以秒为单位...

我认为您已经接近,但应该是… %% 7 * 24*60*60

(但是,我看不到您从中得到了什么。)