【问题标题】:R: Shifting all dates to one weekR:将所有日期移至一周
【发布时间】:2018-11-28 05:36:27
【问题描述】:

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

我所拥有的: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,但那是另一回事)

【问题讨论】:

  • 抱歉,我不确定您的预期输出/出了什么问题
  • 我添加了我的图片,希望对你有帮助:)
  • 对不起,我认为模 7 很愚蠢...应该是 60*24*7,因为数字以秒为单位...

标签: r posixct weekday


【解决方案1】:

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

我想你很接近,但应该是… %% 7 * 24*60*60

(但是,我看不出你从中获得了什么。)

【讨论】:

    猜你喜欢
    • 2021-12-31
    • 2017-09-16
    • 1970-01-01
    • 1970-01-01
    • 2016-04-19
    • 1970-01-01
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多