以下にデータフレームについて説明しました。
DF_1>
Month # of A M Sum of A M Med A Mean A # of B M Sum of B M Median B Mean B
Mar-17 10 - 100000 - - 6 - 15000 - - -
Feb-17 22 - 150000 - - 8 - 22000 - - -
Jan-17 25 - 200000 - - 3 - 23000 - - -
-
グラフのプロットに使用していない値であるため、他のフィールドにマークを付けました。以下は、同じデータフレームのhtml形式のスクリーンショットです。(上記のキャプションとデータフレームの残りの2行を除く)
与え下部に一つの追加行でTotal
、どのように両方のためのグラフでプロットするStatus of A
とStatus of B
使用# of A
、Sum of A
、# of B
およびSum of B
データ点を。
月はY
軸上にあり、他のデータポイントX
はグラフの見出しのような軸上にありABC
ます。
さらに、そのグラフHtml
をmailR
ライブラリから簡単に郵送できる形式に変換したいと思います。
私はすでに以下のように私のメール本文をカバーする2つのhtmlテーブルを持っています:
AAAA CCCC
BBBBBBBBB
どこでAAAA
一つのテーブルであり、BBBBBBBBB
第二のテーブルで、CCCC
私はこのグラフを手配したい空白スペースがあります。
@clemensが提供する別のアプローチと拡張機能は、電子メールをとして準備することrmarkdown
です。
---
title: example
output: html_document
---
```{r setup, include=FALSE}
library(knitr)
library(kableExtra)
library(tidyverse)
library(data.table)
```
```{r status, echo=FALSE}
status <- tibble(
Month = factor(
c('Jan-17', 'Feb-17', 'Mar-17'),
levels = c('Jan-17', 'Feb-17', 'Mar-17')
),
'# of A' = c(100000, 150000, 200000),
'Sum of A' = c(6, 8, 3),
'# of B' = c(150000, 22000, 23000),
'Sum of B' = c(2, 4, 6)
)
kable(status, format = "html") %>% kable_styling
```
```{r plot, echo=FALSE}
status_m <- melt(status, id.vars = "Month")
ggplot(status_m, aes(x = Month, y = value, group = variable, color = variable)) +
geom_line() +
theme(legend.title = element_blank())
```
```{r status2, echo=FALSE}
kable(status, format = "html") %>% kable_styling
```
このようにしてhtml
、画像やその他のコンテンツに対応する必要なしに、出力を簡単で再現可能な方法でレンダリングできます。
その場合、送信スクリプトは前の回答からの非常に小さな変更です。
library(mailR)
send.mail(from = "[email protected]",
to = "[email protected]",
subject = "test report",
body = rmarkdown::render("example.Rmd"), # note we render here
html = TRUE,
inline = TRUE,
smtp = list(host.name = "smtp.gmail.com",
port = 465,
user.name = "...",
passwd = "...",
ssl = TRUE),
authenticate = TRUE,
send = TRUE)
これは、rmarkdown
電子メールでインラインで送信されるレンダリングされたファイルの出力です。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加