在R中跨时间创建折线图

在R中跨时间创建折线图,r,linechart,R,Linechart,我有一个如下所示的数据帧: user_id track_id created_at 1 81496937 cd52b3e5b51da29e5893dba82a418a4b 2014-01-01 05:54:21 2 2205686924 da3110a77b724072b08f231c9d6f7534 2014-01-01 05:54:22 3 132588395 ba84d88c10fb0e42d4754

我有一个如下所示的数据帧:

     user_id                         track_id          created_at
1   81496937 cd52b3e5b51da29e5893dba82a418a4b 2014-01-01 05:54:21    
2 2205686924 da3110a77b724072b08f231c9d6f7534 2014-01-01 05:54:22
3  132588395 ba84d88c10fb0e42d4754a27ead10546 2014-01-01 05:54:22
4   97675221 33f95122281f76e7134f9cbea3be980f 2014-01-02 05:54:24
5   17945688 b5c42e81e15cd54b9b0ee34711dedf05 2014-01-02 05:54:24
6  452285741 8bd5206b84c968eda0af8bc86d6ab1d1 2014-01-02 05:54:25

我想在R中创建一个折线图,显示用户id的天数。我想知道每天有多少个用户id,并绘制一幅图。如何操作?

首先,您应该知道如何在R中处理日期和时间。我强烈推荐lubridate软件包

library(lubridate)
t <- ymd_hms("20170621111800")
dt <- floor_date(t, unit='day')
dt

您忘记了
mutate
floor\u date
函数中的
unit=“day”
。您还需要在该行输入
。除此之外,这是一个很好的答案。x轴仍然是时间。我想绘制用户数量与天数的关系图,因此x轴应为2014-01-012014-01-022014-01-03@ycw,你的评论解决了问题。谢谢你的回答。
library(dplyr)
new_df <- df %>% 
  mutate(dt=floor_date(ymd_hms(created_at, unit='day'))) %>%
  group_by(dt) %>%
  summarise(user_cnt=n_distinct(user_id))
new_df
library(ggplot2)
p <- ggplot(new_df) + geom_line(aes(x=dt, y=user_cnt))
p
library(plotly)
ggplotly(p)