RStudioのpresentation機能を使ってみた
Rでデータ分析の結果をプレゼンテーション形式でまとめる方法としてはR markdownを使用する方法(更にioslides, slidy, beamerの3形式に分かれます)と、presentationを使用する方法があります。
今回はpresentationを使ってみようと思います。
R presentationファイルの新規作成
以下で作成できます。
presentationファイルの編集
R markdownの記法で記述できます。
詳細は以下が参考になります。
Authoring R Presentations – RStudio Support
なお、RStudioの右上のビューに、現在のスライドの状態が表示されるため、確認しながら作業できます。
変更を反映したい場合は編集中の.Rpresファイルを上書き保存するだけです。
作成したコード
試しにNBAのデータを使って選手の身長について簡単な分析を行ってみました。
NBA players' height ======================================================== author: hadadada00 date: 2019.06.09 autosize: true ```{r setup, echo = FALSE} library(knitr) opts_chunk$set(fig.width=8, fig.height=4.5, dpi=300, out.width="1080px", out.height="600px") ``` Average heights since 1947 ======================================================== Average height has been gradually increasing. Since 1980, it has been fluctutating around 200cm. ```{r echo = FALSE} library(tidyverse) library(nbastats) library(tidyverse) library(nbastats) players <- player_data %>% mutate(feet = as.integer(substr(height, 1, 1)), inch = as.integer(substr(height, 3, 4)), cm = feet * 30.48 + inch * 2.54, pos = substr(position, 1, 1)) %>% select(name, year_start, pos, cm) players %>% group_by(year_start) %>% summarise(av_cm = mean(cm)) %>% ggplot() + geom_line(aes(x = year_start, y = av_cm)) + theme(axis.title.y = element_text(angle = 0, vjust = 1)) + labs(x = "Entry year", y = "Average \n height[cm]", title = "NBA playears heights") ``` Heights by position since 1980 ======================================================== Average height of Center is over 7ft(213.4cm). ```{r echo = FALSE} players %>% filter(year_start >= 1980) %>% group_by(pos) %>% summarise(av_cm = mean(cm), n = n()) %>% ggplot() + geom_bar(aes(x = pos, y = av_cm), stat = "identity") + theme(axis.title.y = element_text(angle = 0, vjust = 1)) + geom_text(aes(x = pos, y = av_cm, label = round(av_cm,1), vjust = 0)) + labs(x = "Position", y = "Average \n height[cm]", title = "Heights by position since 1980") ``` Tallest playears by position ======================================================== Tallest center is Manute Bol. Tallest forward is Kristaps Porzingis. Tallest Guard is Ben Simmons. ```{r, echo=FALSE} library(formattable) players <- player_data %>% mutate(feet = as.integer(substr(height, 1, 1)), inch = as.integer(substr(height, 3, 4)), cm = feet * 30.48 + inch * 2.54, pos = substr(position, 1, 1)) %>% select(name, year_start, pos, cm) table <- players %>% filter(!is.na(pos)) %>% group_by(pos) %>% arrange(desc(cm)) %>% mutate(index = row_number()) %>% filter(index == 1) %>% arrange(pos) %>% select(name, year_start, pos, cm) formattable(table) ``` Smallest playears by position ======================================================== Smallest center is Gorham Getchell. Smallest forward is Dee Gibson. Smallest Guard is Muggsy Bogues. ```{r, echo=FALSE} table <- players %>% filter(!is.na(pos)) %>% group_by(pos) %>% arrange(cm) %>% mutate(index = row_number()) %>% filter(index == 1) %>% arrange(pos) %>% select(name, year_start, pos, cm) formattable(table) ```
ファイルの利用方法
RStudioからブラウザを呼び出して(View in Browser)、そのままプレゼンテーションができます。
また、結果を共有したい場合はSave As Web Pageを押すとhtmlファイルが出力されます。
今回作成したhtmlファイルは以下においておきます。
NBA players' height
以上