小编Eri*_*ric的帖子

展平季节性时间序列或消除季节性时间序列的趋势

我有一个具有季节性(每周)模式的重复时间序列,并且我想返回没有每周趋势的相同时间序列,以第一个值作为起点。

具体来说,第一个值仍然是 39.8,但第八个值也将是 39.8,而不是 17.1。如果只是重复前七个值,那么将会重复出现为期一周的负面趋势,而我希望根本没有趋势(因此第 7 个值 6.2 也会更高)。

有没有一种优雅的方法来做到这一点,尤其是对时间序列中的零值条目具有鲁棒性的方法(我有很多这样的条目)?

我们可以假设时间序列趋势是线性且恒定的(即不仅仅是分段线性)。

demand <- ts(
  c(39.8, 33.5, 40.6, 23.6, 11.9, 12.3, 6.2, 17.1, 10.8, 18, 1, -10.7, 
-10.4, -16.5, -5.6, -11.9, -4.7, -21.7, -33.4, -33.1, -39.2, -28.2, 
-34.6, -27.4, -44.4, -56.1, -55.7, -61.8, -50.9, -57.2, -50.1),
frequency = 7
)

plot(demand)
Run Code Online (Sandbox Code Playgroud)

需求趋势

r time-series decomposition forecasting trend

6
推荐指数
1
解决办法
8387
查看次数

列宽与使用sendmailr从R发送的pander表中的表数据不对齐

我正在使用'pander'和'sendmailr'软件包在电子邮件正文中发送一个小数据框,而不是附件.我想将它发送到一个Gmail帐户.

我很接近,但是列标题不会像他们在Rstudio中那样与电子邮件主体中的列本身对齐 - 例如 - 列标题太宽而不能与它们下面的数据列对齐.

似乎问题是在各种电子邮件客户端中压缩破折号和空格的方式(我在gmail,yahoo和hotmail中通过网络和OS X Mavericks附带的电子邮件客户端尝试了这一点).我能够通过转到"首选项"并选中标记为"使用固定宽度字体显示纯文本消息"的框来解决我的OS X电子邮件客户端中的问题,但我希望它可以在多个设备上工作,具有多个许多同事的客户等等,所以我想知道是否有一种不涉及全球电子邮件设置的方式.

以下是重现问题的代码:

library(sendmailR) # for emails from R
library(pander) # for table-formatting that does not require HTML

results <- head(iris)
pander(results) # widths look great so far...
a = pandoc.table.return(results)
strsplit(a, "\n") # widths still look great...

panderOptions('table.split.table', Inf) # show all columns on same line

msg_content <- mime_part(
  pandoc.table.return(results, style = "multiline")
)

# I'm using my own gmail address for email_from and email_to
sendmail(from = email_from,
         to = email_to, …
Run Code Online (Sandbox Code Playgroud)

r sendmailr pander

5
推荐指数
1
解决办法
608
查看次数

标签 统计

r ×2

decomposition ×1

forecasting ×1

pander ×1

sendmailr ×1

time-series ×1

trend ×1