是否有可能 "improve" R 中的 keyATM 时间趋势图?

Is there a possibility to "improve" a keyATM time-trend graph in R?

我想知道是否可以将自定义属性添加到 keyATM R 包的内置函数 plot_timetrend 中?我的图表用

制作
fig_timetrend <- plot_timetrend(out, 
                               time_index_label = df$year,
                               xlab = "Year of complaint submission",
                               scales = "fixed",
                               width = 5)

产生以下结果:

此图看起来不错,但最好添加 ggtitle 和自定义坐标轴,因为 plot_timetrend 不支持这些功能。我可以用 ggplot 来做吗?如果是,怎么做?

提前致谢。

P.S。您可以使用以下代码生成输出模型:

out <- keyATM(docs              = keyATM_docs,
              no_keyword_topics = 9,
              keywords          = keywords,
              model             = "dynamic",
              model_settings    = list(time_index = df_period$period,
                                       num_states = 2), 
              options           = list(seed = 400,
                                       store_theta = TRUE, 
                                       thinning = 5))

KR,亚历山德拉

fig_timetrend对象是一个复杂的东西,图形存储为fig_timetrend$figure。因此,您可以将其用作 ggplot2 对象。例如,使用 keyATM 帮助主题中的代码:

  library(keyATM)
  library(quanteda)
  data(keyATM_data_bills)
  bills_keywords <- keyATM_data_bills$keywords
  bills_dfm <- keyATM_data_bills$doc_dfm  # quanteda dfm object
  keyATM_docs <- keyATM_read(bills_dfm)

  # keyATM Dynamic
  bills_time_index <- keyATM_data_bills$time_index
  # Time index should start from 1 and increase by 1
  bills_time_index <- as.integer(bills_time_index - 100)
  out <- keyATM(docs = keyATM_docs, model = "dynamic",
                no_keyword_topics = 5, keywords = bills_keywords,
                model_settings = list(num_states = 5,
                                      time_index = bills_time_index))
  fig_timetrend <- plot_timetrend(out, 
                               time_index_label = bills_time_index,
                               xlab = "Year of complaint submission",
                               scales = "fixed",
                               width = 5)
  library(ggplot2)
  fig_timetrend$figure + labs(title = "My title")