21
27

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

R言語を扱う際のtips by Rstatistics.net

Posted at

日本のR利用者の中であまり話題になっていないような気がしますが、Rstatistics.netが公開した"60 R Language Tips"というのが良い・自分のためになるので気になったところを紹介。

PDFが公開されているので、詳しくは原文をご覧ください。

1. 因子になった数値の変換にはas.numeric()関数は使用しない

ときどきですが、数値であるはずのデータが要素データとされてしまうことがあります。その際、数値に変換するas.numeric()関数を使うと、値が変わってしまいます。

c(1, 2.4, NA) %>% str()
# num [1:3] 1 2.4 NA
c("1", "2.4", "NA") %>% as.factor() %T>% str() -> tmp
# Factor w/ 3 levels "1","2.4","NA": 1 2 3
as.numeric(tmp)
# [1] 1 2 3

これはtmpというベクターがカテゴリーデータであるため、水準の順番に数値を与えているために生じる問題です。

as.character()関数で一度文字列データに変換し、再度as.numeric()関数による変換をすることでこの問題を回避できます。

as.character(tmp) %>% as.numeric()
# [1] 1.0 2.4  NA

今度はきちんと元の数値になりました。

11. セッション情報を表示するsessionInfo()関数

使用中のRのバージョンや使用したパッケージについて知りたいときにsessionInfo()関数が便利です。

sessionInfo()
# R version 3.1.2 (2014-10-31)
# Platform: x86_64-apple-darwin13.4.0 (64-bit)
# 
# locale:
# [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
# 
# attached base packages:
# [1] graphics  grDevices utils     datasets  stats     methods   base     
# 
# other attached packages:
# [1] rmarkdown_0.5.1 devtools_1.7.0  ggplot2_1.0.1   magrittr_1.5    stringr_0.6.2   knitr_1.9      
# 
# loaded via a namespace (and not attached):
#  [1] colorspace_1.2-6 cowsay_0.2.9.999 digest_0.6.8     DYM_0.1          evaluate_0.5.5   formatR_1.1      fortunes_1.5-2 
#  [8] grid_3.1.2       gtable_0.1.2     htmltools_0.2.6  MASS_7.3-40      memoise_0.2.1    munsell_0.4.2    plyr_1.8.1     
# [15] proto_0.3-10     Rcpp_0.11.5      reshape2_1.4.1   RJSONIO_1.3-0    scales_0.2.4     tools_3.1.2    

リストで値が返ってくるので、各項目についてアクセスするにはこのように。

sessionInfo()$R.version$version.string
# [1] "R version 3.1.2 (2014-10-31)"

また同様の機能はdevtools::session_info()も備えています。さらに似たような機能ですがtips 54でも紹介されています。

34. 複数パッケージの読み込みを一行で

通常、パッケージの読み込み(require()あるいはlibrary())で指定できるパッケージの数は一つですが、次のようにすると複数のパッケージを一度に読み込むことが可能です。

lapply(c("ggplot2", "gridExtra"), require, character.only = TRUE)

56. パッケージの情報や関数を一覧表示させる

関数のヘルプを表示するには?関数名あるいはhelp(関数名)ですが、パッケージ全体の関数について知りたいときなどに便利なtips

library(help = ggplot2)

library()関数の引数helpに情報を得たいパッケージ名を与えることで各種情報や関数が表示されます。

Enjoy!

21
27
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
27

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?