根据数据(日期)创建一个新的变量用于研究



是否有一个简单的函数来收集作为日期的一部分的观测值的数量,并将该数据转换为一个新的变量?我的意思是,如果我的数据中有5000个观测值,日期以y-m-d的形式出现,有没有一种方法可以让我轻松地倒数我只在一月份观测到的次数?

数据看起来像这样:show(tweets$created_at.x): [1] "2021-12-27;"2021-12-10 CET"2021-12-25 CET"2021-12-16 CET"2021-12-30 CET"2021-12-26 CET"[7] 2012-12-26 CET"2021-12-27 CET"2021-12-26 CET"2021-12-26 CET"2021-12-26 CET"2021-12-27 CET"…(有超过40000条推文)

由于我有太多的观察值来对我的其他数据集(50000到2400)进行分析,我想计数它们以便能够进行分析

作为参考,数据与我的其他数据集一样:show(df$created_at) [1] " 20121-05-21 03:00:51 CEST"2020年10月13日16:27:302020年6月11日01:02:52 cest2012-01-12 09:22:27 CET"[5] 2012-01-30 21:03:28 CET"2020年12月16日19:35:082012-02-03 03:50:482020年4月23日11:35:34 cest

你可以像这样按年/月计算观测值。

包含第二个示例,其中输入是一个列表。

library(tidyverse)
library(tsibble)
# Made-up example data
df <- tribble(~date,
"2022-01-02 CET",
"2022-01-05 CET",
"2022-02-01 CET",
"2022-02-08 CET",
"2022-03-06 CET",
) 
df |> 
mutate(
date = as.Date(date),
yr_month = yearmonth(date)) |> 
count(yr_month)
#> # A tibble: 3 × 2
#>   yr_month     n
#>      <mth> <int>
#> 1 2022 Jan     2
#> 2 2022 Feb     2
#> 3 2022 Mar     1
# Where Tweets data is a list
tweets <-
list(
created_at.x = c(
"2021-12-27 CET",
"2021-12-10 CET",
"2021-12-25 CET",
"2021-12-16 CET",
"2021-12-30 CET",
"2021-12-26 CET"
)
)
tweets$created_at.x |> 
as_tibble() |> 
mutate(
date = as.Date(value),
yr_month = yearmonth(date)) |> 
count(yr_month)
#> # A tibble: 1 × 2
#>   yr_month     n
#>      <mth> <int>
#> 1 2021 Dec     6

在2022-05-27由reprex包(v2.0.1)创建

最新更新