R 2.5.0 の変更予定
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
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] ""
ページ名: