首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过获取它们在R中的最后一个月的日期,将周转换为月

通过获取它们在R中的最后一个月的日期,将周转换为月
EN

Stack Overflow用户
提问于 2019-02-01 02:47:01
回答 1查看 73关注 0票数 1

我有一个每周的时间序列数据,并转换为每月序列,但这里的问题是,我需要将这些数据与其他数据组合在一起,这些数据也是每月的数据,但它具有他们的最后一个月的日期

代码语言:javascript
运行
复制
state_id  county_id  dt          sales1     sales2
    1        AWD     2018-01-06   50.1       43.4
    1        AWD     2018-01-13   42.0       74.4
    1        AWD     2018-01-20   21.0       32.1
    1        AWD     2018-01-27   40.2       40.25




library(tidyverse)
library(lubridate)
final_monthly <- final %>%
  group_by(month = round_date(dt, "monthly"), state_id,county_id) %>%
  summarise_at(vars(starts_with('sales')), mean)

期望输出

代码语言:javascript
运行
复制
state_id   county_id    dt          sales1    sales2
    1         AWD      2018-01-31    38.325    47.53

这里的日期是month的最后一个值,但是我的代码给了我每月的第一个日期。我想要一个月的最后一天。

EN

Stack Overflow用户

发布于 2019-02-01 03:02:15

您可以从zoo使用as.yearmon。试用一下

代码语言:javascript
运行
复制
library(tidyverse)
library(lubridate)
library(zoo)
final %>%
        group_by(dt = as.Date(as.yearmon(dt), frac = 1), state_id,county_id) %>%
        summarise_at(vars(starts_with('sales')), mean) %>%
        select(colnames(final))
# output
# A tibble: 1 x 5
# Groups:   dt, state_id [1]
  state_id county_id         dt sales1  sales2
     <int>     <chr>     <date>  <dbl>   <dbl>
1        1       AWD 2018-01-31 38.325 47.5375

这里的提示是as.yearmon(final$dt)给出了一个月向量[1] "janv. 2018" "janv. 2018" "janv. 2018" "janv. 2018"

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54467312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档