我一直在使用tsibble包,我无法了解从聚合结果中删除时间组件的正确方法。因此,在下面的数据集中,我希望按区域和州进行平均旅行。是将tsibble转换为tibble的正确方法(可能是,我只是不确定),还是缺少一些实现聚合的选项?
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发布于 2020-04-05 13:57:11
如果我们在select(-Quarter)数据上使用tourism,它会提供一个信息丰富的错误消息。
library(tsibble)
library(dplyr)
tourism %>% select(-Quarter)错误:无法删除列
Quarter(索引)。您需要as_tibble()来处理数据帧吗?
因此,as_tibble是将数据转换为tibble的正确方法。
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
#...发布于 2020-04-05 15:15:53
为了完整性:来自参考手册 of tsibble
列式动词,包括
select(),transmute(),summarise(),mutate()&transmute(),保持时间上下文。也就是说,索引变量不能被删除。如果任何关键变量被更改,它将在内部验证它是否是一个小块。使用as_tibble()关闭时间上下文。
不能删除时态组件,而as_tibble()是转换为tibble的正确选择。
https://stackoverflow.com/questions/61043507
复制相似问题