\documentclass[11pt,dvipdfmx,t,handout]{beamer}\newcommand{\wmode}{class}\newcommand{\tamode}{ta}\newcommand{\handoutmode}{1}
%\documentclass[11pt,dvipdfmx]{beamer}
%\documentclass[11pt,dvipdfmx,handout]{beamer}

\input{coursemacros}
\newcommand{\timestamp}{Time-stamp: "2019-08-01 Thu 10:15 JST hig"}

\newcommand{\act}{E03}
\newcommand{\thisact}{\act}
\newcommand{\prevact}{L00}
%\newcommand{\prevsect}{-2}
\newcommand{\sect}{4}
\newcommand{\prevtitle}{マルコフ連鎖の時間発展}
\newcommand{\daytitle}{RとRStudio}
\renewcommand{\today}{2019-06-07}
\renewcommand{\PDFTITLE}{{\daytitle | \jcourse}}
\renewcommand{\PDFKEYWORDS}{{}}
\input{commonmacros.tex}
\input{t2q.sty}
\input{t2q-beamer.sty}

\title[\act\;\daytitle]{\daytitle}
\date[\jcourse (\ayear) ]{\jcourse \; \act (\today) \\ {\scriptsize 最終更新: \timestamp}}

%\usepackage{hyperref} % beamer で読み込み済み
\hypersetup{
%    bookmarks=true,%
    bookmarksnumbered=true,%
     bookmarkstype=toc,%
    pdfpagemode=UseOutlines,%FullScreen,%UseThumbs,% UseOutlines, %None
    pdfstartview={FitH -32768},% bounding box を fit, use default
     pdftitle=\PDFTITLE,%タイトル
     pdfsubject=\PDFSUBJECT,%サブタイトル
     pdfauthor=\PDFAUTHOR,%文書の所有者
     pdfkeywords=\PDFKEYWORDS,%キーワード
%    pdfcreater={}, % 元のファイルを作ったソフト 自動的に加えられる
%    pdfproducer={}, % pdf に変換したソフト 自動的に加えられる
%    baserul={}
    linkcolor=cyan%
}

\usetheme{Boadilla}
%\usetheme{Madrid}
%\usetheme{Singapore}
%\usetheme{Copenhagen}
%\usetheme{Warsaw}
\usecolortheme{seahorse}

% disable navigation
\setbeamertemplate{navigation symbols}{} 

% fonts
%\usepackage{txfonts}]%\mathversion{bold}
\renewcommand{\familydefault}{\sfdefault}
%\renewcommand{\kanjifamilydefault}{\gtdefault}
\setbeamerfont{title}{size=\large,series=\bfseries}
\setbeamerfont{frametitle}{size=\large,series=\bfseries}
\setbeamertemplate{frametitle}[default][center]
\usefonttheme{professionalfonts} 
\setbeamercovered{transparent=10}

\useoutertheme{infolines}
\setbeamertemplate{headline}[infolines theme]
%\setbeamertemplate{headline}{\insertsection \insertsubsection \insertframenumber/\inserttotalframenumber}

%\useoutertheme{shadow} % splitを拡張. すべてのsections, subsectionsのリストをヘッダーに
%\setbeamertemplate{frame begin}{test\setcounter{frameol}{1}}


% \AtBeginSection[]{
% \begin{frame}<beamer>
%              \frametitle{Outline}
%              \tableofcontents[currentsection]
%            \end{frame}
% }

% \AtBeginSubsection[] % Do nothing for \subsection*
%          {
%            \begin{frame}
%              \frametitle{ここまで来たよ}
%              \tableofcontents[currentsection,currentsubsection]
%            \end{frame}
% }


\newcounter{frameol}
\setcounter{frameol}{2}

\newlength{\fboxsepbak}
\setlength{\fboxsepbak}{\the\fboxsep}
\newcommand{\fusenbgcolor}{white}
\newcommand{\daishibgcolor}{yellow}
\newcommand{\framelinecolor}{black}

\newcommand<>{\hiddenbox}[1]{\ifthenelse{\equal{#2}{}}{{\setlength{\fboxsep}{0pt}\fcolorbox{\framelinecolor}{\fusenbgcolor}{\visible<+- | alert@+ | handout:\handoutmode>{\setlength{\fboxsep}{\fboxsepbak}\colorbox{\daishibgcolor}{\LARGE #1}}}}}{{\fboxsep{0pt}\fcolorbox{\framelinecolor}{\fusenbgcolor}{\visible#2{\setlength{\fboxsep}{\fboxsepbak}\colorbox{\daishibgcolor}{\LARGE #1}}}}}}

\newcommand<>{\hiddenboxm}[1]{\ifthenelse{\equal{#2}{}}{{\setlength{\fboxsep}{0pt}\fcolorbox{\framelinecolor}{\fusenbgcolor}{\visible<+- | alert@+ | handout:\handoutmode>{\setlength{\fboxsep}{\fboxsepbak}\colorbox{\daishibgcolor}{\LARGE $#1$}}}}}{{\fboxsep{0pt}\fcolorbox{\framelinecolor}{\fusenbgcolor}{\visible#2{\setlength{\fboxsep}{\fboxsepbak}\colorbox{\daishibgcolor}{\LARGE $#1$}}}}}}


% \newcommand<>{\hiddenbox}[1]{\ifthenelse{\equal{#2}{}}{{\setlength{\fboxsep}{0pt}\fcolorbox{\framelinecolor}{\fusenbgcolor}{\visible<+- | alert@+ | handout:0>{\setlength{\fboxsep}{\fboxsepbak}\colorbox{\daishibgcolor}{\LARGE #1}}}}}{{\fboxsep{0pt}\fcolorbox{\framelinecolor}{\fusenbgcolor}{\visible#2{\setlength{\fboxsep}{\fboxsepbak}\colorbox{\daishibgcolor}{\LARGE #1}}}}}}

% \newcommand<>{\hiddenboxm}[1]{\ifthenelse{\equal{#2}{}}{{\setlength{\fboxsep}{0pt}\fcolorbox{\framelinecolor}{\fusenbgcolor}{\visible<+- | alert@+ | handout:0>{\setlength{\fboxsep}{\fboxsepbak}\colorbox{\daishibgcolor}{\LARGE $#1$}}}}}{{\fboxsep{0pt}\fcolorbox{\framelinecolor}{\fusenbgcolor}{\visible#2{\setlength{\fboxsep}{\fboxsepbak}\colorbox{\daishibgcolor}{\LARGE $#1$}}}}}}

% \newcommand<>{\hiddenbox}[1]{\ifthenelse{\equal{#2}{}}{{\setlength{\fboxsep}{0pt}\fcolorbox{\framelinecolor}{\fusenbgcolor}{\visible<+- | alert@+ | handout:0>{\setlength{\fboxsep}{\fboxsepbak}\colorbox{\daishibgcolor}{\LARGE #1}}}}}{{\fboxsep{0pt}\fcolorbox{\framelinecolor}{\fusenbgcolor}{\visible#2{\setlength{\fboxsep}{\fboxsepbak}\colorbox{\daishibgcolor}{\LARGE #1}}}}}}

% \newcommand<>{\hiddenboxm}[1]{\ifthenelse{\equal{#2}{}}{{\setlength{\fboxsep}{0pt}\fcolorbox{\framelinecolor}{\fusenbgcolor}{\visible<+- | alert@+ | handout:0>{\setlength{\fboxsep}{\fboxsepbak}\colorbox{\daishibgcolor}{\LARGE $#1$}}}}}{{\fboxsep{0pt}\fcolorbox{\framelinecolor}{\fusenbgcolor}{\visible#2{\setlength{\fboxsep}{\fboxsepbak}\colorbox{\daishibgcolor}{\LARGE $#1$}}}}}}


\newcommand<>{\hiddenpar}[1]{
\noindent
\hiddenbox#2{
\noindent
  \begin{minipage}{0.92\linewidth}
    #1
  \end{minipage}
}
}

\author[樋口さぶろお]{\href{http://www.a.math.ryukoku.ac.jp/~hig/}{樋口さぶろお}}
\institute[数理情報学科]{
  \href{http://www.math.ryukoku.ac.jp}{龍谷大学理工学部数理情報学科}}

\setcounter{quiz}{0}

\usepackage[hyperlinks]{qrcode}

\lstset{language=R,mathescape=false}


\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}\uncover<+>{}
\titlepage

\begin{minipage}{0.72\linewidth}
 \fbox{今日の目標}
 \begin{itemize}
 \item Rが扱いやすいCSVファイルをCで出力できる
 \item RとRStudioによる解析方法と, Excelによる解析方法の違いが説明できる
 \item CやExcelと対比してRのデータフレームの基本的な計算方法を説明できる
 \end{itemize}
  \end{minipage}
\parbox[c]{3.0cm}{\qrcode[link]{http://hig3.net} %}\includegraphics[scale=0.3]{hig_short2_cqr.eps}
%\vspace*{-2ex}

{\scriptsize \url{http://hig3.net}}}
\end{frame}


\makeatletter
  \beamer@tocsectionnumber=\sect\relax
\makeatother
\setcounter{section}{\sect}



\probmode
\section{\daytitle}
\setcounter{quiz}{0}\probmode\renewcommand{\thisact}{\act}

%\subsection{マルコフ連鎖の時間発展}

\begin{frame}
  \frametitle{Rとは?}

  Rは統計的計算と可視化のための言語と環境. 無料. オープンソース.

  統計学分野で主流. データサイエンス分野でPythonとシェアを二分.

  \url{https://www.r-project.org}
  
  \url{https://www.rstudio.com}
\end{frame}


\begin{frame}
  \frametitle{Excel と R の解析手順の比較}
\includegraphics[scale=0.5]{data/RStudio/excel.pdf}\includegraphics[scale=0.5]{data/RStudio/Rmd.pdf}
\end{frame}


\begin{frame}[fragile]
  \frametitle{C:Visual Studio = R:RStudio}

  \begin{itemize}
  \item C,R: 言語
\noindent
    \begin{tabular}{|c|c|}\hline
      C & R\\ \hline\hline
      .c & .R (R Script) .Rmd (R Markdown)\\
      コンパイル言語 & インタプリタ言語,スクリプト言語, \\
     /*コメント*/ & \verb|#|コメント\\
     \verb|a=b;/*代入*/| & \verb|a<-b #代入|\\
     \verb|a==b /*等式*/| & \verb|a==b #等式|\\
      \verb|a==b && c==d /*論理積*/| & \verb|a==b & c==d # 論理積|\\
     \verb+a==b || c==d /*論理和*/+& \verb+a==b | c==d # 論理和+\\  \hline      
    \end{tabular}

    インタプリタとはコンパイルせずにそのまま実行できる処理系. 1行ずつ実行してその結果を確認できる.

  \item 
  Visual Studio, RStudio: 統合(開発)環境. ソースファイル, データファイル, 設定を, プロジェクトという単位で管理する.
  \end{itemize}
  
  
\end{frame}


\begin{frame}[fragile]
  \frametitle{この授業で R に与えるCSVファイルのフォーマット}


  \begin{lstlisting}[language=R,title={CSVファイルの読込方法},numbers=none,frame=trBL]
    d<-read.csv("filename.csv",comment.char="#")
  \end{lstlisting}


\structure{期待するCSVファイルのフォーマット} 
この授業内では, 出力の仕様にそう書かれてる.

\begin{minipage}{0.55\linewidth}
\begin{lstlisting}[frame=trbl,numbers=none]
# (指定の)コメント0行以上
# (指定の)コメント0行以上
x,y,z #ラベル
# (指定の)コメント0行以上
# (指定の)コメント0行以上
1,3,2
2,9,4
4,5,6
# 途中にコメントが来てもよい
4,2,7
...  
\end{lstlisting}  
\end{minipage}
\begin{minipage}[0.55]{0.4\linewidth}
  \begin{itemize}
\item コンマ改行区切り
  \item 
全ての行には, 同じ個数の量.
\item
同じ列には同じ意味の量(同じ確率変数).
\item
行方向は「繰り返し」特に1個のファイルが1個のサンプルを表すとき, 行の個数がサンプルサイズ.
    \end{itemize}
\end{minipage}


  
\end{frame}

\begin{frame}[fragile]
\frametitle{Rのデータフレームとオブジェクト}

\begin{minipage}{0.48\linewidth}
Excelの表 or CSV形式

$\downarrow$行, 列$\rightarrow$

\begin{tabular}{|c|c|c|c|c|} \hline
  t & x & y &z & (ラベル行)$\cdots$\\ \hline\hline
  0 & 1 & 3 &5 & $\cdots$ \\ 
  3 & 2 & 4 &6 & $\cdots$ \\
 $\vdots$& &&& \\ \hline                          
\end{tabular}
\end{minipage}
\begin{minipage}{0.48\linewidth}
\includegraphics[scale=0.5,trim={0 5cm 0 0}]{data/RStudio/df.pdf}
% \adjinclude
\end{minipage}


\begin{itemize}
\item 
Rのデータフレームdに対して, \verb|d$列名|, \verb|d[行指定, 列指定]|
\item
  Rでのデータフレーム中の列の指定 \verb|d$x| は Cの構造体 \verb|d.x| に似てる. ただし, \verb|d$x|はつねにベクトル(配列).
\end{itemize}
\end{frame}


\begin{frame}[fragile]
\frametitle{Rの変数はすべてベクトル}

Rの
\begin{lstlisting}[language=R,mathescape=false,frame=trBL]
d$s<-d$a+d$b  
d$t<-d$a*d$a*d$a
\end{lstlisting}
は, Cで言えば
\begin{lstlisting}[frame=trBL]
  for(i=0;i<n;i++){
    s[i]=a[i]+b[i];
  }
  for(i=0;i<n;i++){
    t[i]=a[i]*a[i]*a[i];
  }
\end{lstlisting}

\begin{lstlisting}[language=R,title=規則的ベクトルの作成,frame=trBL]
v1<-c(1,5,-3) # 長さ1のベクトルの連結(concatenation)
v2<-1:10   # 1以上10以下, 公差1の等差数列をベクトルと見たもの
v3<-seq(1,10,3) # 1以上10以下, 公差3の等差数列をベクトルと見たもの
\end{lstlisting}
\end{frame}

\begin{frame}[fragile]
  \frametitle{1変量の基本統計量/グラフを得る関数}
データフレーム d の 列 r に対して,
\begin{itemize}
  \item サンプルサイズ(列に含まれる行数) \lstinline[language=R]{length(d$r)}
  \item 標本平均値 \lstinline{mean(d$r)}
  \item 標本期待値 $\phi(r)$ に相当する列を作って \lstinline{mean}
  \item 標本比率 \lstinline{ifelse}(条件,真の返り値,偽の返り値)などで標本期待値として計算するか, 条件を満たす行だけからなるベクトル \lstinline{d$r[d$r>2]} を作って, \lstinline{length} で行数を数える
  \item 不偏標本標準偏差 \lstinline{sd(d$r)}
  \item 不偏標本分散 \lstinline{var(d$r)}            
  \item 四分位数 \lstinline{summary(d$r), quantile(d$r)}
  \end{itemize}
  
\begin{itemize}
  \item ヒストグラム \lstinline{hist(d$r)}
  \end{itemize}
\end{frame}


\end{document}
