绘制 R 中分类变量随时间的出现情况
Plot the occurrence over time of a categorical variable in R
我有一个推文数据集,对于每条推文,我都有创建日期(created_at 变量,日期格式为 2021-09-05 12:03:20
等)和推文的主题(topic 变量;可能的值为 Topic 1、主题 2 等)。这是我的数据集的结构方式:
mydata <- read.csv(header=TRUE, text='"tweet","Topic","created_at"
"1","topic1","2018-03-09 13:01:29"
"2","topic2","2018-03-08 10:01:05"
"3","topic3","2018-03-08 12:01:03"
"4","topic4","2018-03-07 22:04:03"
"5","topic5","2018-03-06 15:02:00"
"6","topic6","2018-03-06 14:20:08"
"7","topic1","2018-03-06 12:01:51"')
我有兴趣绘制不同主题随时间的演变(即不同主题在不同日期出现的次数;时间序列图)。
基本上,我希望日期是情节的 x,y 是推文的 n° 出现,每个主题都有一条曲线,以便比较不同主题的推文随时间的演变。
我能做什么?
我不确定这个情节是不是你想要的
mydata %>%
mutate(time = as.Date(created_at),
Topic = as.factor(Topic)) %>%
ggplot(aes(time, tweet, group = Topic, color = Topic)) +
geom_point() # + geom_line() + geom_smooth()
每组没有足够的数据点,但如果你的数据有足够的数据,
使用 geom_line()
绘制通过点的线(通过 Topic
),使用 geom_smooth()
绘制平滑的条件均值。有关选项参数,请参阅 geom_smooth。
将 created_at
更改为 POSIXct
类型并从中提取日期。计算每个 date
中提及某个主题的次数。为每个 Topic
.
绘制不同颜色的图表
library(dplyr)
library(ggplot2)
mydata %>%
mutate(created_at = lubridate::ymd_hms(created_at),
date = as.Date(created_at)) %>%
count(date, Topic) %>%
ggplot(aes(date, n, color = Topic)) + geom_line()
我有一个推文数据集,对于每条推文,我都有创建日期(created_at 变量,日期格式为 2021-09-05 12:03:20
等)和推文的主题(topic 变量;可能的值为 Topic 1、主题 2 等)。这是我的数据集的结构方式:
mydata <- read.csv(header=TRUE, text='"tweet","Topic","created_at"
"1","topic1","2018-03-09 13:01:29"
"2","topic2","2018-03-08 10:01:05"
"3","topic3","2018-03-08 12:01:03"
"4","topic4","2018-03-07 22:04:03"
"5","topic5","2018-03-06 15:02:00"
"6","topic6","2018-03-06 14:20:08"
"7","topic1","2018-03-06 12:01:51"')
我有兴趣绘制不同主题随时间的演变(即不同主题在不同日期出现的次数;时间序列图)。 基本上,我希望日期是情节的 x,y 是推文的 n° 出现,每个主题都有一条曲线,以便比较不同主题的推文随时间的演变。
我能做什么?
我不确定这个情节是不是你想要的
mydata %>%
mutate(time = as.Date(created_at),
Topic = as.factor(Topic)) %>%
ggplot(aes(time, tweet, group = Topic, color = Topic)) +
geom_point() # + geom_line() + geom_smooth()
每组没有足够的数据点,但如果你的数据有足够的数据,
使用 geom_line()
绘制通过点的线(通过 Topic
),使用 geom_smooth()
绘制平滑的条件均值。有关选项参数,请参阅 geom_smooth。
将 created_at
更改为 POSIXct
类型并从中提取日期。计算每个 date
中提及某个主题的次数。为每个 Topic
.
library(dplyr)
library(ggplot2)
mydata %>%
mutate(created_at = lubridate::ymd_hms(created_at),
date = as.Date(created_at)) %>%
count(date, Topic) %>%
ggplot(aes(date, n, color = Topic)) + geom_line()