R 2.5.0 の変更予定
の編集
http://www.okadajp.org/RWiki/?R+2.5.0+%E3%81%AE%E5%A4%89%E6%9B%B4%E4%BA%88%E5%AE%9A
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
R 2.5.0 の変更予定 注意:オリジナル文書中のすべてを翻訳・記載しているわけではありません。 [[オリジナル文書:https://svn.r-project.org/R/trunk/NEWS]] ---- #contents ---- *ユーザに見える変更 - 論理ベクトルオブジェクトに対して,str.default はより少ない要素を出力するようになった~ R2.5.0 > x <- rep(TRUE, 500) > str(x) logi [1:500] TRUE TRUE TRUE TRUE TRUE TRUE ... R2.4.0 まで > x <- rep(TRUE, 500) > str(x) logi [1:500] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE ... - abs(<整数>) が <整数> を返すようになった R2.5.0 > class(abs(-10L)) [1] "integer" R2.4.1 まで > class(abs(-10L)) エラー:"class(abs(-10L" に構文エラーがありました *新たな仕様・関数 -nls.cotrol()に,printEval=, warnOnly= の 2 引数が加えられた。 -ファイル・ディレクトリのテスト file_test() > file_test("-f", "test.dat") # ファイルか? [1] TRUE > file_test("-d", "test.dat") # ディレクトリか? [1] FALSE > file_test("-nt", "test.dat", "test2.dat") # 新しいか? [1] FALSE -無意味なエスケープシークェンスに警告を出すようにした。~ R2.5.0 > x <- "abc.def" > x [1] "abc.def" > x <- "abc\.def" Warning messages: 1: '\.' is an unrecognized escape in a character string 2: '\.' is an unrecognized escape in a character string > x [1] "abc.def" > x <- "abc\\.def" > x [1] "abc\\.def" R2.4.0 まで > x <- "abc.def" > x [1] "abc.def" > x <- "abc\.def" > x [1] "abc.def" > x <- "abc\\.def" > x [1] "abc\\.def" -書式化されたリスト出力関数 formatUL(), formatOL(), formatDL()~ html の <ul>-</ul>, <ol>-</ol>, <dl>-</dl>, <dt>, <dd> みたいなもの(何に使おうか?) > vec <- c("formatUL", "formatOL") > formatUL(vec) # 番号なし箇条書き [1] "* formatUL" "* formatOL" > formatOL(vec) # 番号つき箇条書き [1] "1. formatUL" "2. formatOL" ----------- > lst <- matrix(c("formatDL", "formatUL", "項目名とその定義", "項目番号有り無しのリスト"), ncol=2) > formatDL(lst) # 項目と定義(表型) [1] "formatDL 項目名とその定義" [2] "formatUL 項目番号有り無しのリスト" > formatDL(lst, style="list") # 項目と定義(リスト型) [1] "formatDL: 項目名とその定義" [2] "formatUL: 項目番号有り無しのリスト" -整数値をローマ数字表記に変換する関数 as.roman() > i <- sample(2006, 20, replace=TRUE) > r <- as.roman(i) > i [1] 1527 441 382 114 209 207 927 527 363 1563 1910 522 1203 [14] 705 88 1526 839 4 1977 1050 > r [1] MDXXVII CDXLI CCCLXXXII CXIV CCIX CCVII [7] CMXXVII DXXVII CCCLXIII MDLXIII MCMX DXXII [13] MCCIII DCCV LXXXVIII MDXXVI DCCCXXXIX IV [19] MCMLXXVII ML - binom.test() の整数引数~ 計算による数値を引数にするときなどの,微細な誤差を許容するようになった。~ R2.5.0 > binom.test(1.000000001, 10.000000001, p=0.5) Exact binomial test data: 1.000000001 and 10.000000001 number of successes = 1, number of trials = 10, p-value = 0.02148 alternative hypothesis: true probability of success is not equal to 0.5 95 percent confidence interval: 0.002528579 0.445016117 sample estimates: probability of success 0.1 R2.4.0 まで > binom.test(1.000000001, 10.000000001, p=0.5) 以下にエラーbinom.test(1.000000001, 10.000000001, p = 0.5) : 'x' は非負整数でなければなりません - abbreviate() は 8191文字以下の文字列しか扱えなかったが,その制限はなくなった - withVisible() 関数は,1つの引数をとり,引数を評価した結果と,それが自動的にプリントされるかどうかの論理値の2つを要素として持つリストを返す。 > withVisible(x <- 1) $value [1] 1 $visible [1] FALSE > withVisible((x <- 1)) $value [1] 1 $visible [1] TRUE - system.time() と proc.time() が戻り値の表示に名前を付すようになった。 > system.time(sin(x)) user system total user.children system.children 0.000 0.001 0.013 0.000 0.000 - 実数(numeric)ではなく整数(integer)を表すための,接尾辞 L の導入。記憶領域の節約になるんでしょうかね。long int といえば 8 バイト整数だけど L は 4 バイト整数みたいだ。~ 例: 100L, 0x10L, 1e2L > class(100) [1] "numeric" > class(100L) [1] "integer" > x <- 1:10L > class(x) [1] "integer" - file 関数が,X11 のクリップボードの内容も読めるようになった。 - boxplot(*, notch = TRUE) で,ノッチがヒンジの外にあるような場合に警告を出すようになった。 - uniroot において,設定した区間のいずれかで関数値が0になる(解である)ときに,ちゃんと解であるとするようになった。~ R2.4.0 まで > uniroot(function(x) (x-2)*(x+3), lower=2, upper=10) 以下にエラーuniroot(function(x) (x - 2) * (x + 3), lower = 2, upper = 10) : f() の端点での値が異なった符号を持ちません R2.5.0 > uniroot(function(x) (x-2)*(x+3), lower=2, upper=10) $root [1] 2 $f.root [1] 0 $iter [1] 0 $estim.prec [1] 0 - cut.default 関数が ordered_result という引数を持つようになった > cut(1:10, 3) [1] (0.991,4] (0.991,4] (0.991,4] (4,7] (4,7] (4,7] (4,7] [8] (7,10] (7,10] (7,10] Levels: (0.991,4] (4,7] (7,10] > cut(1:10, 3, ordered_result=TRUE) [1] (0.991,4] (0.991,4] (0.991,4] (4,7] (4,7] (4,7] (4,7] [8] (7,10] (7,10] (7,10] Levels: (0.991,4] < (4,7] < (7,10] Levels: の行を見ればわかるが < があるのとないのとの違い。また,class は,前者が "factor" だけであるのに対して,後者は "factor" と "ordered" である。 - apropos 関数が新しい引数 ignore.case(=TRUE) を持つようになった~ R2.5.0 > apropos("AIC") [1] "AIC.independence" "AIC" "extractAIC" [4] "mosaicplot" > apropos("aic") [1] "AIC.independence" "AIC" "extractAIC" [4] "mosaicplot" R2.4.0 まで > apropos("AIC") [1] "AIC.independence" "AIC" "extractAIC" > apropos("aic") [1] "mosaicplot" - apropos, find 関数が新しい引数 character.only 引数を持つようになった~ R2.5.0 > apropos(AIC) # 文字列でなくても良くなった [1] "AIC.independence" "AIC" "extractAIC" [4] "mosaicplot" - コマンドラインから起動するとき,-f ファイル名 または --file=ファイル名 というオプションを持つようになった。~ 容易に推察できるとおり,ファイルに書かれた R プログラムを実行する。 % cat test.R sqrt(8) sin(9) % R -f test.R R version 2.5.0 Under development (unstable) (2007-01-11 r40446) Copyright (C) 2007 The R Foundation for Statistical Computing ISBN 3-900051-07-0 【中略】 [以前にセーブされたワークスペースを復帰します] > sqrt(8) [1] 2.828427 > sin(9) [1] 0.4121185 % - file("stdin") が使えるようになった。stdin() と混同しないように注意。 - min(), max(), range() が,文字列も扱えるようになった。 > min("book", "apple", "pen") [1] "apple" > max("book", "apple", "pen") [1] "pen" > range("book", "apple", "pen") [1] "apple" "pen" - 空白を含むファイルの削除~ unlink("foo bar.R") のように,ファイル名にスペースを含むファイルを削除できなかった(注:そんな,へんな名前を付ける方が悪い!) - substr とその一属の関数において,引数が NA だったとき,NA の扱いが変だった~ R2.5.0 より > substr("abcdef", NA, 3) [1] NA > substr("abcdef", 2, NA) [1] NA > substr("abcdef", NA, NA) [1] NA R2.4.1 まで > substr("abcdef", NA, 3) [1] "abc" > substr("abcdef", 2, NA) [1] "" > substr("abcdef", NA, NA) [1] ""
タイムスタンプを変更しない
R 2.5.0 の変更予定 注意:オリジナル文書中のすべてを翻訳・記載しているわけではありません。 [[オリジナル文書:https://svn.r-project.org/R/trunk/NEWS]] ---- #contents ---- *ユーザに見える変更 - 論理ベクトルオブジェクトに対して,str.default はより少ない要素を出力するようになった~ R2.5.0 > x <- rep(TRUE, 500) > str(x) logi [1:500] TRUE TRUE TRUE TRUE TRUE TRUE ... R2.4.0 まで > x <- rep(TRUE, 500) > str(x) logi [1:500] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE ... - abs(<整数>) が <整数> を返すようになった R2.5.0 > class(abs(-10L)) [1] "integer" R2.4.1 まで > class(abs(-10L)) エラー:"class(abs(-10L" に構文エラーがありました *新たな仕様・関数 -nls.cotrol()に,printEval=, warnOnly= の 2 引数が加えられた。 -ファイル・ディレクトリのテスト file_test() > file_test("-f", "test.dat") # ファイルか? [1] TRUE > file_test("-d", "test.dat") # ディレクトリか? [1] FALSE > file_test("-nt", "test.dat", "test2.dat") # 新しいか? [1] FALSE -無意味なエスケープシークェンスに警告を出すようにした。~ R2.5.0 > x <- "abc.def" > x [1] "abc.def" > x <- "abc\.def" Warning messages: 1: '\.' is an unrecognized escape in a character string 2: '\.' is an unrecognized escape in a character string > x [1] "abc.def" > x <- "abc\\.def" > x [1] "abc\\.def" R2.4.0 まで > x <- "abc.def" > x [1] "abc.def" > x <- "abc\.def" > x [1] "abc.def" > x <- "abc\\.def" > x [1] "abc\\.def" -書式化されたリスト出力関数 formatUL(), formatOL(), formatDL()~ html の <ul>-</ul>, <ol>-</ol>, <dl>-</dl>, <dt>, <dd> みたいなもの(何に使おうか?) > vec <- c("formatUL", "formatOL") > formatUL(vec) # 番号なし箇条書き [1] "* formatUL" "* formatOL" > formatOL(vec) # 番号つき箇条書き [1] "1. formatUL" "2. formatOL" ----------- > lst <- matrix(c("formatDL", "formatUL", "項目名とその定義", "項目番号有り無しのリスト"), ncol=2) > formatDL(lst) # 項目と定義(表型) [1] "formatDL 項目名とその定義" [2] "formatUL 項目番号有り無しのリスト" > formatDL(lst, style="list") # 項目と定義(リスト型) [1] "formatDL: 項目名とその定義" [2] "formatUL: 項目番号有り無しのリスト" -整数値をローマ数字表記に変換する関数 as.roman() > i <- sample(2006, 20, replace=TRUE) > r <- as.roman(i) > i [1] 1527 441 382 114 209 207 927 527 363 1563 1910 522 1203 [14] 705 88 1526 839 4 1977 1050 > r [1] MDXXVII CDXLI CCCLXXXII CXIV CCIX CCVII [7] CMXXVII DXXVII CCCLXIII MDLXIII MCMX DXXII [13] MCCIII DCCV LXXXVIII MDXXVI DCCCXXXIX IV [19] MCMLXXVII ML - binom.test() の整数引数~ 計算による数値を引数にするときなどの,微細な誤差を許容するようになった。~ R2.5.0 > binom.test(1.000000001, 10.000000001, p=0.5) Exact binomial test data: 1.000000001 and 10.000000001 number of successes = 1, number of trials = 10, p-value = 0.02148 alternative hypothesis: true probability of success is not equal to 0.5 95 percent confidence interval: 0.002528579 0.445016117 sample estimates: probability of success 0.1 R2.4.0 まで > binom.test(1.000000001, 10.000000001, p=0.5) 以下にエラーbinom.test(1.000000001, 10.000000001, p = 0.5) : 'x' は非負整数でなければなりません - abbreviate() は 8191文字以下の文字列しか扱えなかったが,その制限はなくなった - withVisible() 関数は,1つの引数をとり,引数を評価した結果と,それが自動的にプリントされるかどうかの論理値の2つを要素として持つリストを返す。 > withVisible(x <- 1) $value [1] 1 $visible [1] FALSE > withVisible((x <- 1)) $value [1] 1 $visible [1] TRUE - system.time() と proc.time() が戻り値の表示に名前を付すようになった。 > system.time(sin(x)) user system total user.children system.children 0.000 0.001 0.013 0.000 0.000 - 実数(numeric)ではなく整数(integer)を表すための,接尾辞 L の導入。記憶領域の節約になるんでしょうかね。long int といえば 8 バイト整数だけど L は 4 バイト整数みたいだ。~ 例: 100L, 0x10L, 1e2L > class(100) [1] "numeric" > class(100L) [1] "integer" > x <- 1:10L > class(x) [1] "integer" - file 関数が,X11 のクリップボードの内容も読めるようになった。 - boxplot(*, notch = TRUE) で,ノッチがヒンジの外にあるような場合に警告を出すようになった。 - uniroot において,設定した区間のいずれかで関数値が0になる(解である)ときに,ちゃんと解であるとするようになった。~ R2.4.0 まで > uniroot(function(x) (x-2)*(x+3), lower=2, upper=10) 以下にエラーuniroot(function(x) (x - 2) * (x + 3), lower = 2, upper = 10) : f() の端点での値が異なった符号を持ちません R2.5.0 > uniroot(function(x) (x-2)*(x+3), lower=2, upper=10) $root [1] 2 $f.root [1] 0 $iter [1] 0 $estim.prec [1] 0 - cut.default 関数が ordered_result という引数を持つようになった > cut(1:10, 3) [1] (0.991,4] (0.991,4] (0.991,4] (4,7] (4,7] (4,7] (4,7] [8] (7,10] (7,10] (7,10] Levels: (0.991,4] (4,7] (7,10] > cut(1:10, 3, ordered_result=TRUE) [1] (0.991,4] (0.991,4] (0.991,4] (4,7] (4,7] (4,7] (4,7] [8] (7,10] (7,10] (7,10] Levels: (0.991,4] < (4,7] < (7,10] Levels: の行を見ればわかるが < があるのとないのとの違い。また,class は,前者が "factor" だけであるのに対して,後者は "factor" と "ordered" である。 - apropos 関数が新しい引数 ignore.case(=TRUE) を持つようになった~ R2.5.0 > apropos("AIC") [1] "AIC.independence" "AIC" "extractAIC" [4] "mosaicplot" > apropos("aic") [1] "AIC.independence" "AIC" "extractAIC" [4] "mosaicplot" R2.4.0 まで > apropos("AIC") [1] "AIC.independence" "AIC" "extractAIC" > apropos("aic") [1] "mosaicplot" - apropos, find 関数が新しい引数 character.only 引数を持つようになった~ R2.5.0 > apropos(AIC) # 文字列でなくても良くなった [1] "AIC.independence" "AIC" "extractAIC" [4] "mosaicplot" - コマンドラインから起動するとき,-f ファイル名 または --file=ファイル名 というオプションを持つようになった。~ 容易に推察できるとおり,ファイルに書かれた R プログラムを実行する。 % cat test.R sqrt(8) sin(9) % R -f test.R R version 2.5.0 Under development (unstable) (2007-01-11 r40446) Copyright (C) 2007 The R Foundation for Statistical Computing ISBN 3-900051-07-0 【中略】 [以前にセーブされたワークスペースを復帰します] > sqrt(8) [1] 2.828427 > sin(9) [1] 0.4121185 % - file("stdin") が使えるようになった。stdin() と混同しないように注意。 - min(), max(), range() が,文字列も扱えるようになった。 > min("book", "apple", "pen") [1] "apple" > max("book", "apple", "pen") [1] "pen" > range("book", "apple", "pen") [1] "apple" "pen" - 空白を含むファイルの削除~ unlink("foo bar.R") のように,ファイル名にスペースを含むファイルを削除できなかった(注:そんな,へんな名前を付ける方が悪い!) - substr とその一属の関数において,引数が NA だったとき,NA の扱いが変だった~ R2.5.0 より > substr("abcdef", NA, 3) [1] NA > substr("abcdef", 2, NA) [1] NA > substr("abcdef", NA, NA) [1] NA R2.4.1 まで > substr("abcdef", NA, 3) [1] "abc" > substr("abcdef", 2, NA) [1] "" > substr("abcdef", NA, NA) [1] ""
テキスト整形のルールを表示する