\documentclass{jsbook} \usepackage{amsmath,amssymb} \usepackage{bm} %\usepackage{graphicx} \usepackage{ascmac} \usepackage[dvips]{graphicx} \usepackage{graphicx} \usepackage{bigdelim,multirow} \usepackage{amsmath,amsthm,amssymb,cases} \usepackage{ascmac} \usepackage{eclbkbox} \usepackage{wrapfig} \usepackage{listings, jlisting} \usepackage[dvips,usenames]{color} \usepackage{makeidx} \usepackage{url} \usepackage[dvipdfmx,setpagesize=false]{hyperref} \SweaveOpts{eps=TRUE} \lstdefinestyle{MyFrame}{backgroundcolor=\color{green},frame=shadowbox} \lstdefinestyle{MyC++Style} {language=C++,style=MyFrame,frame=none} \lstset{ language=R, basicstyle=\ttfamily, backgroundcolor={\color[gray]{.85}}, keywordstyle=\color{blue}\bfseries, } \begin{document} \chapter{Rcppを使う} C++ファイルを書きつつ、それには、自作のlstlistingスタイルを使わせる。 \begin{lstlisting}[style=MyC++Style] #include <RcppArmadilloExtensions/sample.h> // [[Rcpp::depends(RcppArmadillo)]] using namespace Rcpp ; // [[Rcpp::export]] int int_int(int n,int d) { int ret = n+d; return ret; } \end{lstlisting} その上で、そのc++ファイルをRの中でsourceCpp()で呼び出す。 そのときのRのためのlstlistingはc++のそれと変わるようにする \begin{lstlisting}[language=R] library(Rcpp) library(RcppArmadillo) sourceCpp("InOutTemplate.cpp") x <- runif(100) \end{lstlisting} \begin{breakbox} <<fig=FALSE>>= library(Rcpp) library(RcppArmadillo) sourceCpp("InOutTemplate.cpp") @ \end{breakbox} \end{document}
遺伝学・遺伝統計学関連の姉妹ブログ『ryamadaの遺伝学・遺伝統計学メモ』
京都大学大学院医学研究科ゲノム医学センター統計遺伝学分野のWiki
講義・スライド
医学生物学と数学とプログラミングの三重学習を狙う学習ツール
駆け足で読む○○シリーズ
ぱらぱらめくるシリーズ
カシオの計算機
オンライン整数列大辞典