我有一个具有季节性(每周)模式的重复时间序列,并且我想返回没有每周趋势的相同时间序列,以第一个值作为起点。
具体来说,第一个值仍然是 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)
我正在使用'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)