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 の扱いが変だった~
- 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] ""

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS