如何自定义tsibble中yearmonth列的显示格式?tsibble::format不生效
自定义tsibble中yearmonth列的显示格式
tsibble的yearmonth类型继承自zoo包的yearmon类,默认显示格式由zoo的全局选项控制,而非tsibble::format函数(该函数用于调整tsibble对象的整体输出结构)。要将默认的%Y %m格式改为%m-%y,可以通过以下两种方式实现:
方法一:全局设置(整个代码块生效)
通过修改zoo的全局选项,让所有yearmonth/yearmon类型的列都使用指定格式显示:
library(tsibble) # 设置全局yearmon显示格式为%m-%y options(zoo.yearmon.format = "%m-%y") # 创建示例tsibble sample_tsibble <- tibble( month = yearmonth(c("2023-03", "2023-04", "2023-05")), sales = c(150, 200, 180) ) %>% as_tsibble(index = month) # 查看输出,month列将显示为03-23、04-23、05-23 sample_tsibble
方法二:局部格式化(仅针对特定列)
如果不想修改全局设置,可单独格式化目标列(转换为字符类型保留显示格式):
sample_tsibble %>% mutate(month_formatted = format(month, "%m-%y"))
这种方式会新增一列格式化后的字符型数据,原yearmonth类型的列保持不变。
内容的提问来源于stack exchange,提问作者Zeno Shuai
相关产品推荐
相关产品推荐

