Rのバージョン3.6.0がリリース

概要
統計処理言語の R のバージョン3.6.0が、2019年4月26日に公開された。この新リリースでは、離散一様分布に従う乱数の生成手法が変更されたり、文字列を表現式 (expression) に変換する新しい関数が導入されたりした。

バージョン3.6.0のリリース

2019年4月26日、R のバージョン3.6.0がリリースされた。コードネームは Planting of a Tree(木を植えること)である。バージョン3.6.0での変更点の詳細は、Rアナウンスメーリングリストでのバージョン3.6.0リリースの通知R 3.3.0 is released、英語)を参照されたい。

ちなみに、Rのバージョンごとに付けられるコードネームは米国の漫画 Peanuts から取られるのが通例。今回の Planting of a Tree は、おそらく1963年3月3日付けの作品から取られたもの。この作品ではルーシーとライナスが木を植えるというもので、その中でルーシーが “The planting of a tree shows faith in the future” (強調引用者)と言っている。

Rのバージョン3.6.0のコードネームは Planting of a Tree(木を植えること)である
Rのバージョン3.6.0のコードネームは Planting of a Tree(木を植えること)である

バージョン3.6.0での主な変更点

バージョン3.6.0での変更点のうち、自分が気になった点をいくつか紹介したいと思う。

文字列処理

trimws(" あああ   ")
# [1] " あああ   "
trimws(" あああ   ", whitespace="[\\h\\v]")
# [1] "あああ"
stringr::str_trim(" あああ   ")
# [1] "あああ"

統計処理

x <- 1:10
y <- 11:20
result <- t.test(x, y)
result$stderr
# 結果は [1] 1.354006

描画

モデル式 (formula) を使った barplot() の出力例。
モデル式 (formula) を使った barplot() の出力例。
左側がカラーパレットの順番をデフォルト通りにしたもので、右側は逆順にしたものである。
左側がカラーパレットの順番をデフォルト通りにしたもので、右側は逆順にしたものである。

数値計算

three <- as.roman(3)
five <- as.roman(5)
three + five # 結果は VIII
three > five # 結果は FALSE
sum(as.roman(1:10)) # 結果は LV (=55)

乱数生成

RNGkind()
# [1] "Mersenne-Twister" "Inversion"        "Rejection"

プログラミング

(x <- matrix(1 : 6, 2, 3))
# 以下の結果が返る
#      [,1] [,2] [,3]
# [1,]    1    3    5
# [2,]    2    4    6

asplit(x, 1) # 行ごとに分割
# 以下の結果が返る
# [[1]]
# [1] 1 3 5
#
# [[2]]
# [1] 2 4 6

asplit(x, 2) # 列ごとに分割
# 以下の結果が返る
# [[1]]
# [1] 1 2
#
# [[2]]
# [1] 3 4
#
# [[3]]
# [1] 5 6
脚注
  1. これまでのバージョンでは、barplot() の最初の引数(=棒の高さに対応する数値)として取れるのはベクトルか行列のみであった。そして、今回挙げた出力例は barplot(longley$GNP, names.arg = longley$Year) のように書かざるをえなかった。 []
  2. lgamma() 関数の場合は、lgamma(0) のようにすると同様の警告メッセージが出ていた。 []
  3. マニュアルを見ると、“a call or simpler”(呼び出しまたはそれより単純なもの)を返すと書いてある。 []