绘制归一化的数据子集
Plotting normalized subset of data
我必须绘制一个包含以下内容的线图:
x = 一天中的小时数,
y = 该小时的(标准化)推文数量,仅考虑 X 月的推文,
每行代表一个月。
我的数据框采用这种格式(我有更多列,但它们与此无关):
id_tweet day month hour minute id_user
550654742654103552 01 01 12 08 174744462
550654753106296832 01 01 12 08 15355832
550654818935910400 01 01 12 08 628822209
550654823667089409 01 01 12 08 283218297
550654824308813824 01 01 12 09 58315346
我想知道有多少人在 1 月、7 月或类似时间发推文。
问题是我的数据非常有偏见,收集算法发生了变化,我在第 1 ~ 4 个月获得了更多的数据,然后剩下的。我的数据分布如下图所示:
长话短说,我需要对一天中每个小时发布的所有推文求和,然后除以一月份的推文总数。那将是图表的第 1 行。
第 2 行是一天中每个小时发布的所有推文除以 2 月份的推文总数,依此类推。
希望我说清楚了,提前感谢我能得到的任何帮助。
您可以使用 dplyr
来汇总您的数据:
library(dplyr)
agg_data = your_data %>%
group_by(month, day, hour) %>%
summarize(n_hour = n()) %>%
group_by(month) %>%
mutate(percent_of_month = n_hour / sum(n_hour))
我会把策划交给你。
我必须绘制一个包含以下内容的线图: x = 一天中的小时数, y = 该小时的(标准化)推文数量,仅考虑 X 月的推文, 每行代表一个月。
我的数据框采用这种格式(我有更多列,但它们与此无关):
id_tweet day month hour minute id_user
550654742654103552 01 01 12 08 174744462
550654753106296832 01 01 12 08 15355832
550654818935910400 01 01 12 08 628822209
550654823667089409 01 01 12 08 283218297
550654824308813824 01 01 12 09 58315346
我想知道有多少人在 1 月、7 月或类似时间发推文。
问题是我的数据非常有偏见,收集算法发生了变化,我在第 1 ~ 4 个月获得了更多的数据,然后剩下的。我的数据分布如下图所示:
第 2 行是一天中每个小时发布的所有推文除以 2 月份的推文总数,依此类推。
希望我说清楚了,提前感谢我能得到的任何帮助。
您可以使用 dplyr
来汇总您的数据:
library(dplyr)
agg_data = your_data %>%
group_by(month, day, hour) %>%
summarize(n_hour = n()) %>%
group_by(month) %>%
mutate(percent_of_month = n_hour / sum(n_hour))
我会把策划交给你。