2013-12-29

【備忘録】tkrplot (TK Rplot)

tkrplot は、Tk ウィジェットの中に R グラフィックを配置するライブラリです。

昔、R のプログラムを GUI 化するためにこういうライブラリを探していたことがありましたが見つからず諦めていました。ところが先の記事でも書きましたように R を使うニーズがあり、調べている時に偶然見つけましたので、備忘録としてまとめておきます。

tkrplot は Fedora 20 の RPM パッケージでは提供されていませんので、R 上で install.packages のコマンドを使って直接インストールします。

Linux の環境において、R のパッケージを install.packages のコマンドでインストールする場合は、Windows 版のようにバイナリパッケージがダウンロードされるのではなく、ソースがダウンロードされて、それをコンパイルしてビルドすることでインストールされます。そのため Linux 側では事前に R-devel をインストールしておく必要があります。

gcc でコンパイルできる環境が整っており、R-devel がインストールされていることを確認して R を起動します。

パッケージをダウンロードするサイトを選択します。

ソースがダウンロードされると、コンパイルされてインストールされます。

このパッケージ tkrplot の場合は、問題なくコンパイルされましたが、パッケージによってはコンパイル中にエラーが出てインストールできない場合もあります。そういう時は、エラーメッセージを理解して、必要な処置を講じる必要があります。この記事の最後に書いていますが、RPM で提供されているパッケージであれば、最初からそちらを利用した方が無難です。

下記は tkrplot のマニュアルに記載されているサンプルを実行した例です。

library("tkrplot")
tt <- tktoplevel()
bb <- 1
img <- tkrplot(tt, function() plot(1:20,(1:20)^bb))
f <- function(...) {
  b <- as.numeric(tclvalue("bb"))
  if (b != bb) {
    bb <<- b
    tkrreplot(img)
  }
}
s <- tkscale(tt, command=f, from=0.05, to=2.00, variable="bb", showvalue=FALSE, resolution=0.05, orient="horiz")
tkpack(img, s)

tkrplot は、ちょっとした R のプログラムを GUI 化する際に重宝しそうです。


Fedora 20 で提供されている R のパッケージ

ちなみに、Fedora において、R で始まる R のパッケージを yum で探すときには、名前が単純であるため意外と手こずります。通常は下記のようにして探しています。

$ yum search "R-" | grep "^R"

この方法だと、i686 のパッケージが混じります。参考までに以下に重複を省いたリストを下記に示しました (Fedora 20)。

R-Biostrings-devel.x86_64 : Development files for R-Biostrings
R-BufferedMatrix-devel.x86_64 : Development files for R-BufferedMatrix
R-IRanges-devel.x86_64 : Development files for R-IRanges
R-Rsamtools-devel.x86_64 : Development files for R-Rsamtools
R-Rsolid-devel.x86_64 : Development files for R-Rsolid
R-bigmemory-devel.x86_64 : Development headers for R-bigmemory
R-preprocessCore-devel.x86_64 : Development files for R-preprocessCore
R-ALL.noarch : Data of T- and B-cell Acute Lymphocytic Leukemia
R-AnnotationDbi.noarch : Annotation Database Interface
R-BSgenome.noarch : Infrastructure for Biostrings-based genome data packages
R-BSgenome.Celegans.UCSC.ce2.noarch : Caenorhabditis elegans genome (UCSC Release ce2)
R-Biobase.x86_64 : Base functions for Bioconductor
R-BiocGenerics.noarch : Generic functions for Bioconductor
R-Biostrings.x86_64 : String objects representing biological sequences
R-BufferedMatrix.x86_64 : A matrix data storage object method from bioconductor
R-BufferedMatrixMethods.x86_64 : Microarray Data related methods that utlize
R-DBI.noarch : Database interface module for R
R-DynDoc.noarch : Functions for dynamic documents
R-GeneR.x86_64 : R for genes and sequences analysis
R-GenomicFeatures.noarch : Tools for making and manipulating transcript centric
R-GenomicRanges.x86_64 : Representation and manipulation of genomic intervals
R-IRanges.x86_64 : Low-level containers for storing sets of integer ranges
R-RCurl.x86_64 : General network (HTTP/FTP) client interface for R
R-RM2.noarch : Revenue Management and Pricing for R
R-ROC.x86_64 : Utilities for ROC
R-RODBC.x86_64 : An ODBC database interface for R
R-RSQLite.x86_64 : SQLite database interface for R
R-RScaLAPACK.x86_64 : An interface to perform parallel computation on linear
R-RUnit.noarch : R Unit test framework
R-Rcompression.x86_64 : R Package for in-memory compression
R-Rsamtools.x86_64 : R interface to samtools
R-Rsolid.x86_64 : Quantile normalization and base calling for second generation
R-XML.x86_64 : Tools for parsing and generating xml within r and s-plus
R-abind.noarch : Combine multi-dimensional arrays
R-acepack.x86_64 : ACE and AVAS methods for choosing regression transformations
R-affy.x86_64 : Methods for Affymetrix Oligonucleotide Arrays
R-affydata.noarch : Affymetrix data for demonstration purpose
R-affyio.x86_64 : Tools for parsing Affymetrix data files
R-biglm.x86_64 : Bounded memory linear and generalized linear models
R-bigmemory.x86_64 : Manage massive matrices in R using C++, with support for
R-biomaRt.noarch : R Interface to BioMart databases
R-bitops.x86_64 : Functions for Bitwise operations
R-caTools.x86_64 : Tools: moving window statistics, gif, base64, roc auc...
R-car.noarch : Companion to Applied Regression package for R
R-combinat.noarch : R routines for combinatorics
R-core.x86_64 : The minimal R components necessary for a functional runtime
R-core-devel.x86_64 : Core files for development of R packages (no Java)
R-devel.x86_64 : Full R development environment metapackage
R-fibroEset.noarch : ExprSet for karaman et al. (2003) fibroblasts data
R-hdf5.x86_64 : Interface to the NCSA HDF5 library
R-hgu133acdf.noarch : HG-U133A.cdf data file
R-hgu95av2cdf.noarch : HG_U95Av2.CDF data file
R-hgu95av2probe.noarch : Probe sequence data for microarrays of type hgu95av2
R-java.x86_64 : R with Fedora provided Java Runtime Environment
R-java-devel.x86_64 : Development package for use with Java enabled R components
R-lmtest.x86_64 : Testing Linear Regression Models for R
R-mAr.x86_64 : R module to evaluate functions for multivariate AutoRegressive
R-maanova.x86_64 : Analysis of N-dye Micro Array using mixed model effect
R-msm.x86_64 : Multi-state Markov and hidden Markov models in continuous time
R-multcomp.noarch : Simultaneous inference for general linear hypotheses R
R-multtest.x86_64 : Multiple hypothesis testing library from Bioconductor
R-mvtnorm.x86_64 : Multivariate normal and T distribution R Package
R-nws.noarch : R functions for NetWorkSpaces and Sleigh
R-pls.noarch : Multivariate regression by PLSR and PCR
R-preprocessCore.x86_64 : A collection of pre-processing functions
R-qcc.noarch : SQC package for R
R-qtl.x86_64 : Tools for analyzing QTL experiments
R-qvalue.noarch : Q-value estimation for false discovery rate control
R-rlecuyer.x86_64 : R interface to RNG with multiple streams
R-rtracklayer.x86_64 : R interface to genome browsers and their annotation
R-sandwich.noarch : Robust Covariance Matrix Estimators
R-sciplot.noarch : Scientific Graphing Functions for Factorial Designs
R-statmod.x86_64 : Statistical modeling
R-systemfit.noarch : Simultaneous Equation Estimation R Package
R-timeDate.noarch : Rmetrics - chronological and calendrical objects
R-tkWidgets.noarch : Widgets to provide user interfaces from bioconductor
R-waveslim.x86_64 : R module, Basic wavelet routines for 1,2 and 3-dimensional
R-wavethresh.x86_64 : R module, Software to perform wavelet statistics and
R-widgetTools.noarch : Bioconductor tools to support tcltk widgets
R-xtable.noarch : Export tables to LaTeX or HTML
R-zoo.x86_64 : Z's ordered observations for irregular time series


0 件のコメント: