首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除tsibble对象聚合中的时态组件?

如何删除tsibble对象聚合中的时态组件?
EN

Stack Overflow用户
提问于 2020-04-05 13:39:39
回答 2查看 480关注 0票数 5

我一直在使用tsibble包,我无法了解从聚合结果中删除时间组件的正确方法。因此,在下面的数据集中,我希望按区域和州进行平均旅行。是将tsibble转换为tibble的正确方法(可能是,我只是不确定),还是缺少一些实现聚合的选项?

代码语言:javascript
复制
library(tsibble)
library(dplyr)

tourism %>% group_by(Region, State) %>% summarise(Mean_trips = mean(Trips))

# A tsibble: 6,080 x 4 [1Q]
# Key:       Region, State [76]
# Groups:    Region [76]
   Region   State           Quarter Mean_trips
   <chr>    <chr>             <qtr>      <dbl>
 1 Adelaide South Australia 1998 Q1       165.
 2 Adelaide South Australia 1998 Q2       112.
 3 Adelaide South Australia 1998 Q3       148.

## This is not what I want, this is what I want:

tourism %>% as_tibble %>% group_by(Region, State) %>% summarise(Mean_trips = mean(Trips))

# A tibble: 76 x 3
# Groups:   Region [76]
   Region                     State              Mean_trips
   <chr>                      <chr>                   <dbl>
 1 Adelaide                   South Australia        143.  
 2 Adelaide Hills             South Australia          7.18
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-05 13:57:11

如果我们在select(-Quarter)数据上使用tourism,它会提供一个信息丰富的错误消息。

代码语言:javascript
复制
library(tsibble)
library(dplyr)

tourism %>% select(-Quarter)

错误:无法删除列Quarter (索引)。您需要as_tibble()来处理数据帧吗?

因此,as_tibble是将数据转换为tibble的正确方法。

代码语言:javascript
复制
tourism %>% 
    as_tibble %>% 
    group_by(Region, State) %>% 
    summarise(Mean_trips = mean(Trips))

#   Region                     State              Mean_trips
#   <chr>                      <chr>                   <dbl>
# 1 Adelaide                   South Australia        143.  
# 2 Adelaide Hills             South Australia          7.18
# 3 Alice Springs              Northern Territory      14.2 
# 4 Australia's Coral Coast    Western Australia       47.4 
#...
票数 5
EN

Stack Overflow用户

发布于 2020-04-05 15:15:53

为了完整性:来自参考手册 of tsibble

列式动词,包括select()transmute()summarise()mutate() & transmute(),保持时间上下文。也就是说,索引变量不能被删除。如果任何关键变量被更改,它将在内部验证它是否是一个小块。使用as_tibble()关闭时间上下文。

不能删除时态组件,而as_tibble()是转换为tibble的正确选择。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61043507

复制
相关文章

相似问题

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