@r-universe/webr 2023.6.11 → 2023.6.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/R.bin.data +35733 -74
- package/dist/R.bin.js +1756 -0
- package/dist/R.bin.wasm +0 -0
- package/dist/esbuild.d.ts +1 -0
- package/dist/libRblas.so +0 -0
- package/dist/libRlapack.so +0 -0
- package/dist/repl/fstree.d.ts +57 -0
- package/dist/repl/repl.d.ts +1 -0
- package/dist/tests/packages/webr.test.d.ts +1 -0
- package/dist/tests/webR/console.test.d.ts +1 -0
- package/dist/tests/webR/proxy.test.d.ts +1 -0
- package/dist/tests/webR/robj.test.d.ts +1 -0
- package/dist/tests/webR/utils.test.d.ts +1 -0
- package/dist/tests/webR/webr-main.test.d.ts +1 -0
- package/dist/tests/webR/webr-r.test.d.ts +1 -0
- package/dist/tests/webR/webr-worker.test.d.ts +1 -0
- package/dist/vfs/usr/lib/R/doc/AUTHORS +39 -0
- package/dist/vfs/usr/lib/R/doc/BioC_mirrors.csv +17 -0
- package/dist/vfs/usr/lib/R/doc/COPYING +340 -0
- package/dist/vfs/usr/lib/R/doc/COPYRIGHTS +774 -0
- package/dist/vfs/usr/lib/R/doc/CRAN_mirrors.csv +105 -0
- package/dist/vfs/usr/lib/R/doc/FAQ +2653 -0
- package/dist/vfs/usr/lib/R/doc/KEYWORDS +87 -0
- package/dist/vfs/usr/lib/R/doc/KEYWORDS.db +71 -0
- package/dist/vfs/usr/lib/R/doc/NEWS +3538 -0
- package/dist/vfs/usr/lib/R/doc/NEWS.0 +2825 -0
- package/dist/vfs/usr/lib/R/doc/NEWS.1 +8108 -0
- package/dist/vfs/usr/lib/R/doc/NEWS.2 +16534 -0
- package/dist/vfs/usr/lib/R/doc/NEWS.2.rds +0 -0
- package/dist/vfs/usr/lib/R/doc/NEWS.3 +7840 -0
- package/dist/vfs/usr/lib/R/doc/NEWS.3.rds +0 -0
- package/dist/vfs/usr/lib/R/doc/NEWS.pdf +0 -0
- package/dist/vfs/usr/lib/R/doc/NEWS.rds +0 -0
- package/dist/vfs/usr/lib/R/doc/RESOURCES +44 -0
- package/dist/vfs/usr/lib/R/doc/THANKS +78 -0
- package/dist/vfs/usr/lib/R/doc/html/NEWS.2.html +9004 -0
- package/dist/vfs/usr/lib/R/doc/html/NEWS.3.html +11328 -0
- package/dist/vfs/usr/lib/R/doc/html/NEWS.html +5151 -0
- package/dist/vfs/usr/lib/R/doc/html/R.css +130 -0
- package/dist/vfs/usr/lib/R/doc/html/Rlogo.pdf +0 -0
- package/dist/vfs/usr/lib/R/doc/html/Rlogo.svg +33 -0
- package/dist/vfs/usr/lib/R/doc/html/Search.html +27 -0
- package/dist/vfs/usr/lib/R/doc/html/SearchOn.html +200 -0
- package/dist/vfs/usr/lib/R/doc/html/about.html +38 -0
- package/dist/vfs/usr/lib/R/doc/html/favicon.ico +0 -0
- package/dist/vfs/usr/lib/R/doc/html/index.html +79 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/LICENSE +24 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/README.md +119 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_AMS-Regular.ttf +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_AMS-Regular.woff +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_AMS-Regular.woff2 +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Fraktur-Bold.woff +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Fraktur-Regular.woff +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Main-Bold.ttf +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Main-Bold.woff +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Main-Bold.woff2 +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Main-BoldItalic.woff +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Main-Italic.ttf +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Main-Italic.woff +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Main-Italic.woff2 +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Main-Regular.ttf +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Main-Regular.woff +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Main-Regular.woff2 +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Math-BoldItalic.woff +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Math-Italic.ttf +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Math-Italic.woff +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Math-Italic.woff2 +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_SansSerif-Bold.woff +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_SansSerif-Italic.woff +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_SansSerif-Regular.woff +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Script-Regular.ttf +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Script-Regular.woff +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Script-Regular.woff2 +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Size1-Regular.ttf +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Size1-Regular.woff +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Size1-Regular.woff2 +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Size2-Regular.ttf +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Size2-Regular.woff +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Size2-Regular.woff2 +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Size3-Regular.ttf +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Size3-Regular.woff +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Size3-Regular.woff2 +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Size4-Regular.ttf +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Size4-Regular.woff +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Size4-Regular.woff2 +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Typewriter-Regular.woff +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/katex.css +1079 -0
- package/dist/vfs/usr/lib/R/doc/html/katex/katex.js +18456 -0
- package/dist/vfs/usr/lib/R/doc/html/katex-check.js +13 -0
- package/dist/vfs/usr/lib/R/doc/html/katex-config.js +17 -0
- package/dist/vfs/usr/lib/R/doc/html/left.jpg +0 -0
- package/dist/vfs/usr/lib/R/doc/html/logo.jpg +0 -0
- package/dist/vfs/usr/lib/R/doc/html/mathjax-config.js +23 -0
- package/dist/vfs/usr/lib/R/doc/html/packages-head-utf8.html +17 -0
- package/dist/vfs/usr/lib/R/doc/html/packages.html +51 -0
- package/dist/vfs/usr/lib/R/doc/html/prism.css +235 -0
- package/dist/vfs/usr/lib/R/doc/html/prism.js +1495 -0
- package/dist/vfs/usr/lib/R/doc/html/resources.html +235 -0
- package/dist/vfs/usr/lib/R/doc/html/right.jpg +0 -0
- package/dist/vfs/usr/lib/R/doc/html/up.jpg +0 -0
- package/dist/vfs/usr/lib/R/doc/manual/images/QQ.png +0 -0
- package/dist/vfs/usr/lib/R/doc/manual/images/ecdf.png +0 -0
- package/dist/vfs/usr/lib/R/doc/manual/images/fig11.png +0 -0
- package/dist/vfs/usr/lib/R/doc/manual/images/fig12.png +0 -0
- package/dist/vfs/usr/lib/R/doc/manual/images/hist.png +0 -0
- package/dist/vfs/usr/lib/R/doc/manual/images/ice.png +0 -0
- package/dist/vfs/usr/lib/R/library/base/demo/error.catching.R +101 -0
- package/dist/vfs/usr/lib/R/library/base/demo/is.things.R +143 -0
- package/dist/vfs/usr/lib/R/library/base/demo/recursion.R +82 -0
- package/dist/vfs/usr/lib/R/library/base/demo/scoping.R +50 -0
- package/dist/vfs/usr/lib/R/library/base/help/AnIndex +1709 -0
- package/dist/vfs/usr/lib/R/library/base/help/aliases.rds +0 -0
- package/dist/vfs/usr/lib/R/library/base/help/base.rdb +0 -0
- package/dist/vfs/usr/lib/R/library/base/help/base.rdx +0 -0
- package/dist/vfs/usr/lib/R/library/base/help/paths.rds +0 -0
- package/dist/vfs/usr/lib/R/library/base/html/00Index.html +2754 -0
- package/dist/vfs/usr/lib/R/library/base/html/R.css +130 -0
- package/dist/vfs/usr/lib/R/library/compiler/help/AnIndex +9 -0
- package/dist/vfs/usr/lib/R/library/compiler/help/aliases.rds +0 -0
- package/dist/vfs/usr/lib/R/library/compiler/help/compiler.rdb +0 -0
- package/dist/vfs/usr/lib/R/library/compiler/help/compiler.rdx +0 -0
- package/dist/vfs/usr/lib/R/library/compiler/help/paths.rds +0 -0
- package/dist/vfs/usr/lib/R/library/compiler/html/00Index.html +43 -0
- package/dist/vfs/usr/lib/R/library/compiler/html/R.css +130 -0
- package/dist/vfs/usr/lib/R/library/compiler/tests/assign.R +152 -0
- package/dist/vfs/usr/lib/R/library/compiler/tests/basics.R +104 -0
- package/dist/vfs/usr/lib/R/library/compiler/tests/const.R +65 -0
- package/dist/vfs/usr/lib/R/library/compiler/tests/curexpr.R +96 -0
- package/dist/vfs/usr/lib/R/library/compiler/tests/envir.R +90 -0
- package/dist/vfs/usr/lib/R/library/compiler/tests/jit.R +16 -0
- package/dist/vfs/usr/lib/R/library/compiler/tests/loop.R +26 -0
- package/dist/vfs/usr/lib/R/library/compiler/tests/srcref.R +77 -0
- package/dist/vfs/usr/lib/R/library/compiler/tests/switch.R +98 -0
- package/dist/vfs/usr/lib/R/library/compiler/tests/vischk.R +121 -0
- package/dist/vfs/usr/lib/R/library/datasets/help/AnIndex +109 -0
- package/dist/vfs/usr/lib/R/library/datasets/help/aliases.rds +0 -0
- package/dist/vfs/usr/lib/R/library/datasets/help/datasets.rdb +0 -0
- package/dist/vfs/usr/lib/R/library/datasets/help/datasets.rdx +0 -0
- package/dist/vfs/usr/lib/R/library/datasets/help/paths.rds +0 -0
- package/dist/vfs/usr/lib/R/library/datasets/html/00Index.html +373 -0
- package/dist/vfs/usr/lib/R/library/datasets/html/R.css +130 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/ArialMT-Bold.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/ArialMT-BoldItalic.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/ArialMT-Italic.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/ArialMT.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/CM_boldx_10.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/CM_boldx_italic_10.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/CM_italic_10.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/CM_regular_10.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/CM_symbol_10.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Courier-Bold.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Courier-BoldOblique.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Courier-Oblique.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Courier.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Helvetica-Bold.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Helvetica-BoldOblique.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Helvetica-Oblique.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Helvetica.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/MustRead.html +20 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/README +21 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Symbol.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Times-Bold.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Times-BoldItalic.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Times-Italic.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Times-Roman.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/ZapfDingbats.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/a010013l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/a010015l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/a010033l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/a010035l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/agd_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/agdo____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/agw_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/agwo____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/b018012l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/b018015l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/b018032l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/b018035l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/bkd_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/bkdi____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/bkl_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/bkli____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/c059013l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/c059016l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/c059033l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/c059036l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/cmbxti10.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/cmti10.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/cob_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/cobo____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/com_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/coo_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/hv______.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/hvb_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/hvbo____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/hvn_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/hvnb____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/hvnbo___.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/hvno____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/hvo_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n019003l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n019004l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n019023l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n019024l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n019043l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n019044l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n019063l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n019064l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n021003l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n021004l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n021023l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n021024l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n022003l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n022004l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n022023l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n022024l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/ncb_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/ncbi____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/nci_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/ncr_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/p052003l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/p052004l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/p052023l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/p052024l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/pob_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/pobi____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/poi_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/por_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/s050000l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/sy______.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/tib_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/tibi____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/tii_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/tir_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/demo/colors.R +108 -0
- package/dist/vfs/usr/lib/R/library/grDevices/demo/hclColors.R +63 -0
- package/dist/vfs/usr/lib/R/library/grDevices/enc/AdobeStd.enc +37 -0
- package/dist/vfs/usr/lib/R/library/grDevices/enc/AdobeSym.enc +42 -0
- package/dist/vfs/usr/lib/R/library/grDevices/enc/CP1250.enc +36 -0
- package/dist/vfs/usr/lib/R/library/grDevices/enc/CP1251.enc +37 -0
- package/dist/vfs/usr/lib/R/library/grDevices/enc/CP1253.enc +37 -0
- package/dist/vfs/usr/lib/R/library/grDevices/enc/CP1257.enc +36 -0
- package/dist/vfs/usr/lib/R/library/grDevices/enc/Cyrillic.enc +40 -0
- package/dist/vfs/usr/lib/R/library/grDevices/enc/Greek.enc +38 -0
- package/dist/vfs/usr/lib/R/library/grDevices/enc/ISOLatin1.enc +39 -0
- package/dist/vfs/usr/lib/R/library/grDevices/enc/ISOLatin2.enc +40 -0
- package/dist/vfs/usr/lib/R/library/grDevices/enc/ISOLatin7.enc +40 -0
- package/dist/vfs/usr/lib/R/library/grDevices/enc/ISOLatin9.enc +39 -0
- package/dist/vfs/usr/lib/R/library/grDevices/enc/KOI8-R.enc +39 -0
- package/dist/vfs/usr/lib/R/library/grDevices/enc/KOI8-U.enc +39 -0
- package/dist/vfs/usr/lib/R/library/grDevices/enc/MacRoman.enc +39 -0
- package/dist/vfs/usr/lib/R/library/grDevices/enc/PDFDoc.enc +39 -0
- package/dist/vfs/usr/lib/R/library/grDevices/enc/TeXtext.enc +39 -0
- package/dist/vfs/usr/lib/R/library/grDevices/enc/WinAnsi.enc +40 -0
- package/dist/vfs/usr/lib/R/library/grDevices/fonts/Montserrat/static/Montserrat-BoldItalic.ttf +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/fonts/Montserrat/static/Montserrat-Medium.ttf +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/fonts/Roboto/LICENSE.txt +202 -0
- package/dist/vfs/usr/lib/R/library/grDevices/fonts/Roboto/Roboto-Medium.ttf +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/help/AnIndex +192 -0
- package/dist/vfs/usr/lib/R/library/grDevices/help/aliases.rds +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/help/grDevices.rdb +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/help/grDevices.rdx +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/help/paths.rds +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/html/00Index.html +520 -0
- package/dist/vfs/usr/lib/R/library/grDevices/html/R.css +130 -0
- package/dist/vfs/usr/lib/R/library/grDevices/libs/grDevices.so +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/tests/convertColor-tests.R +47 -0
- package/dist/vfs/usr/lib/R/library/grDevices/tests/grDev-tsts.R +7 -0
- package/dist/vfs/usr/lib/R/library/grDevices/tests/palettes-tests.R +58 -0
- package/dist/vfs/usr/lib/R/library/grDevices/tests/ps-tests.R +39 -0
- package/dist/vfs/usr/lib/R/library/grDevices/tests/ps-tests.Rout.save +98 -0
- package/dist/vfs/usr/lib/R/library/grDevices/tests/saved-recordPlot.R +36 -0
- package/dist/vfs/usr/lib/R/library/grDevices/tests/xfig-tests.R +84 -0
- package/dist/vfs/usr/lib/R/library/grDevices/tests/xfig-tests.Rout.save +105 -0
- package/dist/vfs/usr/lib/R/library/graphics/demo/Hershey.R +394 -0
- package/dist/vfs/usr/lib/R/library/graphics/demo/Japanese.R +716 -0
- package/dist/vfs/usr/lib/R/library/graphics/demo/graphics.R +145 -0
- package/dist/vfs/usr/lib/R/library/graphics/demo/image.R +37 -0
- package/dist/vfs/usr/lib/R/library/graphics/demo/persp.R +86 -0
- package/dist/vfs/usr/lib/R/library/graphics/demo/plotmath.R +197 -0
- package/dist/vfs/usr/lib/R/library/graphics/help/AnIndex +130 -0
- package/dist/vfs/usr/lib/R/library/graphics/help/aliases.rds +0 -0
- package/dist/vfs/usr/lib/R/library/graphics/help/figures/mai.pdf +0 -0
- package/dist/vfs/usr/lib/R/library/graphics/help/figures/mai.png +0 -0
- package/dist/vfs/usr/lib/R/library/graphics/help/figures/oma.pdf +0 -0
- package/dist/vfs/usr/lib/R/library/graphics/help/figures/oma.png +0 -0
- package/dist/vfs/usr/lib/R/library/graphics/help/figures/pch.pdf +0 -0
- package/dist/vfs/usr/lib/R/library/graphics/help/figures/pch.png +0 -0
- package/dist/vfs/usr/lib/R/library/graphics/help/figures/pch.svg +185 -0
- package/dist/vfs/usr/lib/R/library/graphics/help/graphics.rdb +0 -0
- package/dist/vfs/usr/lib/R/library/graphics/help/graphics.rdx +0 -0
- package/dist/vfs/usr/lib/R/library/graphics/help/paths.rds +0 -0
- package/dist/vfs/usr/lib/R/library/graphics/html/00Index.html +222 -0
- package/dist/vfs/usr/lib/R/library/graphics/html/R.css +130 -0
- package/dist/vfs/usr/lib/R/library/grid/doc/DivByZero.txt +50 -0
- package/dist/vfs/usr/lib/R/library/grid/doc/changes.txt +1714 -0
- package/dist/vfs/usr/lib/R/library/grid/doc/displaylist.pdf +0 -0
- package/dist/vfs/usr/lib/R/library/grid/doc/frame.pdf +0 -0
- package/dist/vfs/usr/lib/R/library/grid/doc/grid.pdf +0 -0
- package/dist/vfs/usr/lib/R/library/grid/doc/grobs.pdf +0 -0
- package/dist/vfs/usr/lib/R/library/grid/doc/interactive.pdf +0 -0
- package/dist/vfs/usr/lib/R/library/grid/doc/locndimn.pdf +0 -0
- package/dist/vfs/usr/lib/R/library/grid/doc/moveline.pdf +0 -0
- package/dist/vfs/usr/lib/R/library/grid/doc/nonfinite.pdf +0 -0
- package/dist/vfs/usr/lib/R/library/grid/doc/plotexample.pdf +0 -0
- package/dist/vfs/usr/lib/R/library/grid/doc/rotated.pdf +0 -0
- package/dist/vfs/usr/lib/R/library/grid/doc/saveload.pdf +0 -0
- package/dist/vfs/usr/lib/R/library/grid/doc/sharing.pdf +0 -0
- package/dist/vfs/usr/lib/R/library/grid/doc/viewports.pdf +0 -0
- package/dist/vfs/usr/lib/R/library/grid/help/AnIndex +269 -0
- package/dist/vfs/usr/lib/R/library/grid/help/aliases.rds +0 -0
- package/dist/vfs/usr/lib/R/library/grid/help/grid.rdb +0 -0
- package/dist/vfs/usr/lib/R/library/grid/help/grid.rdx +0 -0
- package/dist/vfs/usr/lib/R/library/grid/help/paths.rds +0 -0
- package/dist/vfs/usr/lib/R/library/grid/html/00Index.html +648 -0
- package/dist/vfs/usr/lib/R/library/grid/html/R.css +130 -0
- package/dist/vfs/usr/lib/R/library/grid/tests/bugs.R +30 -0
- package/dist/vfs/usr/lib/R/library/grid/tests/clippaths.R +418 -0
- package/dist/vfs/usr/lib/R/library/grid/tests/compositing.R +107 -0
- package/dist/vfs/usr/lib/R/library/grid/tests/coords.R +598 -0
- package/dist/vfs/usr/lib/R/library/grid/tests/glyphs.R +325 -0
- package/dist/vfs/usr/lib/R/library/grid/tests/grep.R +49 -0
- package/dist/vfs/usr/lib/R/library/grid/tests/grep.Rout.save +100 -0
- package/dist/vfs/usr/lib/R/library/grid/tests/groups.R +549 -0
- package/dist/vfs/usr/lib/R/library/grid/tests/masks.R +417 -0
- package/dist/vfs/usr/lib/R/library/grid/tests/nesting.R +113 -0
- package/dist/vfs/usr/lib/R/library/grid/tests/paths.R +241 -0
- package/dist/vfs/usr/lib/R/library/grid/tests/patterns.R +1435 -0
- package/dist/vfs/usr/lib/R/library/grid/tests/reg.R +433 -0
- package/dist/vfs/usr/lib/R/library/grid/tests/testls.R +158 -0
- package/dist/vfs/usr/lib/R/library/grid/tests/testls.Rout.save +343 -0
- package/dist/vfs/usr/lib/R/library/grid/tests/units.R +180 -0
- package/dist/vfs/usr/lib/R/library/methods/help/AnIndex +483 -0
- package/dist/vfs/usr/lib/R/library/methods/help/aliases.rds +0 -0
- package/dist/vfs/usr/lib/R/library/methods/help/methods.rdb +0 -0
- package/dist/vfs/usr/lib/R/library/methods/help/methods.rdx +0 -0
- package/dist/vfs/usr/lib/R/library/methods/help/paths.rds +0 -0
- package/dist/vfs/usr/lib/R/library/methods/html/00Index.html +727 -0
- package/dist/vfs/usr/lib/R/library/methods/html/R.css +130 -0
- package/dist/vfs/usr/lib/R/library/methods/tests/S3.R +29 -0
- package/dist/vfs/usr/lib/R/library/methods/tests/basicRefClass.R +530 -0
- package/dist/vfs/usr/lib/R/library/methods/tests/duplicateClass.R +35 -0
- package/dist/vfs/usr/lib/R/library/methods/tests/envRefClass.R +18 -0
- package/dist/vfs/usr/lib/R/library/methods/tests/fieldAssignments.R +30 -0
- package/dist/vfs/usr/lib/R/library/methods/tests/mixinInitialize.R +86 -0
- package/dist/vfs/usr/lib/R/library/methods/tests/namesAndSlots.R +18 -0
- package/dist/vfs/usr/lib/R/library/methods/tests/nextWithDots.R +21 -0
- package/dist/vfs/usr/lib/R/library/methods/tests/refClassExample.R +51 -0
- package/dist/vfs/usr/lib/R/library/methods/tests/testConditionalIs.R +38 -0
- package/dist/vfs/usr/lib/R/library/methods/tests/testGroupGeneric.R +83 -0
- package/dist/vfs/usr/lib/R/library/methods/tests/testIs.R +61 -0
- package/dist/vfs/usr/lib/R/library/parallel/DESCRIPTION +16 -0
- package/dist/vfs/usr/lib/R/library/parallel/INDEX +16 -0
- package/dist/vfs/usr/lib/R/library/parallel/Meta/Rd.rds +0 -0
- package/dist/vfs/usr/lib/R/library/parallel/Meta/features.rds +0 -0
- package/dist/vfs/usr/lib/R/library/parallel/Meta/hsearch.rds +0 -0
- package/dist/vfs/usr/lib/R/library/parallel/Meta/links.rds +0 -0
- package/dist/vfs/usr/lib/R/library/parallel/Meta/nsInfo.rds +0 -0
- package/dist/vfs/usr/lib/R/library/parallel/Meta/package.rds +0 -0
- package/dist/vfs/usr/lib/R/library/parallel/NAMESPACE +42 -0
- package/dist/vfs/usr/lib/R/library/parallel/R/parallel +27 -0
- package/dist/vfs/usr/lib/R/library/parallel/R/parallel.rdb +0 -0
- package/dist/vfs/usr/lib/R/library/parallel/R/parallel.rdx +0 -0
- package/dist/vfs/usr/lib/R/library/parallel/doc/parallel.pdf +0 -0
- package/dist/vfs/usr/lib/R/library/parallel/help/AnIndex +45 -0
- package/dist/vfs/usr/lib/R/library/parallel/help/aliases.rds +0 -0
- package/dist/vfs/usr/lib/R/library/parallel/help/parallel.rdb +0 -0
- package/dist/vfs/usr/lib/R/library/parallel/help/parallel.rdx +0 -0
- package/dist/vfs/usr/lib/R/library/parallel/help/paths.rds +0 -0
- package/dist/vfs/usr/lib/R/library/parallel/html/00Index.html +116 -0
- package/dist/vfs/usr/lib/R/library/parallel/html/R.css +130 -0
- package/dist/vfs/usr/lib/R/library/parallel/libs/parallel.so +0 -0
- package/dist/vfs/usr/lib/R/library/parallel/tests/Master.R +36 -0
- package/dist/vfs/usr/lib/R/library/parallel/tests/RSeed.R +25 -0
- package/dist/vfs/usr/lib/R/library/parallel/tests/multicore1.RR +10 -0
- package/dist/vfs/usr/lib/R/library/parallel/tests/multicore2.RR +15 -0
- package/dist/vfs/usr/lib/R/library/parallel/tests/multicore2.Rout.save +47 -0
- package/dist/vfs/usr/lib/R/library/parallel/tests/multicore3.RR +9 -0
- package/dist/vfs/usr/lib/R/library/parallel/tests/snow1.RR +41 -0
- package/dist/vfs/usr/lib/R/library/parallel/tests/snow2.RR +20 -0
- package/dist/vfs/usr/lib/R/library/parallel/tests/snow2.Rout.save +53 -0
- package/dist/vfs/usr/lib/R/library/splines/help/AnIndex +22 -0
- package/dist/vfs/usr/lib/R/library/splines/help/aliases.rds +0 -0
- package/dist/vfs/usr/lib/R/library/splines/help/paths.rds +0 -0
- package/dist/vfs/usr/lib/R/library/splines/help/splines.rdb +0 -0
- package/dist/vfs/usr/lib/R/library/splines/help/splines.rdx +0 -0
- package/dist/vfs/usr/lib/R/library/splines/html/00Index.html +69 -0
- package/dist/vfs/usr/lib/R/library/splines/html/R.css +130 -0
- package/dist/vfs/usr/lib/R/library/splines/tests/sparse-tst.R +35 -0
- package/dist/vfs/usr/lib/R/library/splines/tests/spline-tst.R +296 -0
- package/dist/vfs/usr/lib/R/library/stats/demo/glm.vr.R +24 -0
- package/dist/vfs/usr/lib/R/library/stats/demo/lm.glm.R +144 -0
- package/dist/vfs/usr/lib/R/library/stats/demo/nlm.R +110 -0
- package/dist/vfs/usr/lib/R/library/stats/demo/smooth.R +39 -0
- package/dist/vfs/usr/lib/R/library/stats/help/AnIndex +780 -0
- package/dist/vfs/usr/lib/R/library/stats/help/aliases.rds +0 -0
- package/dist/vfs/usr/lib/R/library/stats/help/paths.rds +0 -0
- package/dist/vfs/usr/lib/R/library/stats/help/stats.rdb +0 -0
- package/dist/vfs/usr/lib/R/library/stats/help/stats.rdx +0 -0
- package/dist/vfs/usr/lib/R/library/stats/html/00Index.html +1354 -0
- package/dist/vfs/usr/lib/R/library/stats/html/R.css +130 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/NLSstClosest.R +12 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/anorexia.rda +0 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/arimaML.R +265 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/bandwidth.R +19 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/bandwidth.Rout.save +49 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/birthwt.rda +0 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/cmdscale.R +10 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/drop1-polr.R +30 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/glm-etc.R +162 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/glm.R +82 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/glm.Rout.save +194 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/hills.rds +0 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/ig_glm.R +68 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/ks-test.R +116 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/ks-test.Rout.save +365 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/nafns.R +136 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/nlm.R +107 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/nls.R +389 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/nls.Rout.save +828 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/offsets.R +39 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/ppr.R +6 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/ppr_test.csv +443 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/simulate.R +87 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/simulate.Rout.save +417 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/smooth.spline.R +188 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/table-margins.R +20 -0
- package/dist/vfs/usr/lib/R/library/stats/tests/ts-tests.R +180 -0
- package/dist/vfs/usr/lib/R/library/stats4/help/AnIndex +36 -0
- package/dist/vfs/usr/lib/R/library/stats4/help/aliases.rds +0 -0
- package/dist/vfs/usr/lib/R/library/stats4/help/paths.rds +0 -0
- package/dist/vfs/usr/lib/R/library/stats4/help/stats4.rdb +0 -0
- package/dist/vfs/usr/lib/R/library/stats4/help/stats4.rdx +0 -0
- package/dist/vfs/usr/lib/R/library/stats4/html/00Index.html +75 -0
- package/dist/vfs/usr/lib/R/library/stats4/html/R.css +130 -0
- package/dist/vfs/usr/lib/R/library/stats4/tests/confint.R +23 -0
- package/dist/vfs/usr/lib/R/library/tcltk/DESCRIPTION +12 -0
- package/dist/vfs/usr/lib/R/library/tcltk/INDEX +13 -0
- package/dist/vfs/usr/lib/R/library/tcltk/Meta/Rd.rds +0 -0
- package/dist/vfs/usr/lib/R/library/tcltk/Meta/demo.rds +0 -0
- package/dist/vfs/usr/lib/R/library/tcltk/Meta/features.rds +0 -0
- package/dist/vfs/usr/lib/R/library/tcltk/Meta/hsearch.rds +0 -0
- package/dist/vfs/usr/lib/R/library/tcltk/Meta/links.rds +0 -0
- package/dist/vfs/usr/lib/R/library/tcltk/Meta/nsInfo.rds +0 -0
- package/dist/vfs/usr/lib/R/library/tcltk/Meta/package.rds +0 -0
- package/dist/vfs/usr/lib/R/library/tcltk/NAMESPACE +36 -0
- package/dist/vfs/usr/lib/R/library/tcltk/R/tcltk +20 -0
- package/dist/vfs/usr/lib/R/library/tcltk/demo/tkcanvas.R +151 -0
- package/dist/vfs/usr/lib/R/library/tcltk/demo/tkdensity.R +104 -0
- package/dist/vfs/usr/lib/R/library/tcltk/demo/tkfaq.R +32 -0
- package/dist/vfs/usr/lib/R/library/tcltk/demo/tkttest.R +89 -0
- package/dist/vfs/usr/lib/R/library/tcltk/exec/Tk-frontend.R +25 -0
- package/dist/vfs/usr/lib/R/library/tcltk/exec/console.tcl +79 -0
- package/dist/vfs/usr/lib/R/library/tcltk/exec/hierarchy.tcl +1271 -0
- package/dist/vfs/usr/lib/R/library/tcltk/exec/pkgIndex.tcl +50 -0
- package/dist/vfs/usr/lib/R/library/tcltk/exec/progressbar.tcl +2435 -0
- package/dist/vfs/usr/lib/R/library/tcltk/exec/util-dump.tcl +660 -0
- package/dist/vfs/usr/lib/R/library/tcltk/exec/util-expand.tcl +207 -0
- package/dist/vfs/usr/lib/R/library/tcltk/exec/util-number.tcl +101 -0
- package/dist/vfs/usr/lib/R/library/tcltk/exec/util-string.tcl +149 -0
- package/dist/vfs/usr/lib/R/library/tcltk/exec/util-tk.tcl +244 -0
- package/dist/vfs/usr/lib/R/library/tcltk/exec/util.tcl +895 -0
- package/dist/vfs/usr/lib/R/library/tcltk/exec/widget.tcl +975 -0
- package/dist/vfs/usr/lib/R/library/tcltk/help/AnIndex +305 -0
- package/dist/vfs/usr/lib/R/library/tcltk/help/aliases.rds +0 -0
- package/dist/vfs/usr/lib/R/library/tcltk/help/paths.rds +0 -0
- package/dist/vfs/usr/lib/R/library/tcltk/help/tcltk.rdb +0 -0
- package/dist/vfs/usr/lib/R/library/tcltk/help/tcltk.rdx +0 -0
- package/dist/vfs/usr/lib/R/library/tcltk/html/00Index.html +680 -0
- package/dist/vfs/usr/lib/R/library/tcltk/html/R.css +130 -0
- package/dist/vfs/usr/lib/R/library/tools/help/AnIndex +160 -0
- package/dist/vfs/usr/lib/R/library/tools/help/aliases.rds +0 -0
- package/dist/vfs/usr/lib/R/library/tools/help/paths.rds +0 -0
- package/dist/vfs/usr/lib/R/library/tools/help/tools.rdb +0 -0
- package/dist/vfs/usr/lib/R/library/tools/help/tools.rdx +0 -0
- package/dist/vfs/usr/lib/R/library/tools/html/00Index.html +455 -0
- package/dist/vfs/usr/lib/R/library/tools/html/R.css +130 -0
- package/dist/vfs/usr/lib/R/library/tools/tests/QC.R +34 -0
- package/dist/vfs/usr/lib/R/library/tools/tests/Rd-Sexpr-error.Rd +8 -0
- package/dist/vfs/usr/lib/R/library/tools/tests/Rd-Sexpr-hide-empty.Rd +18 -0
- package/dist/vfs/usr/lib/R/library/tools/tests/Rd-Sexpr-warning.Rd +6 -0
- package/dist/vfs/usr/lib/R/library/tools/tests/Rd.R +53 -0
- package/dist/vfs/usr/lib/R/library/tools/tests/Rd2HTML.R +52 -0
- package/dist/vfs/usr/lib/R/library/tools/tests/S3.R +8 -0
- package/dist/vfs/usr/lib/R/library/tools/tests/doi.Rd +8 -0
- package/dist/vfs/usr/lib/R/library/tools/tests/undoc.R +4 -0
- package/dist/vfs/usr/lib/R/library/translations/DESCRIPTION +7 -0
- package/dist/vfs/usr/lib/R/library/translations/Meta/features.rds +0 -0
- package/dist/vfs/usr/lib/R/library/translations/Meta/package.rds +0 -0
- package/dist/vfs/usr/lib/R/library/translations/da/LC_MESSAGES/R-base.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/da/LC_MESSAGES/R-compiler.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/da/LC_MESSAGES/R-grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/da/LC_MESSAGES/R-graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/da/LC_MESSAGES/R-grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/da/LC_MESSAGES/R-methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/da/LC_MESSAGES/R-parallel.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/da/LC_MESSAGES/R-splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/da/LC_MESSAGES/R-stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/da/LC_MESSAGES/R-stats4.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/da/LC_MESSAGES/R-tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/da/LC_MESSAGES/R-tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/da/LC_MESSAGES/R-utils.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/da/LC_MESSAGES/R.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/da/LC_MESSAGES/RGui.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/da/LC_MESSAGES/grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/da/LC_MESSAGES/graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/da/LC_MESSAGES/grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/da/LC_MESSAGES/methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/da/LC_MESSAGES/parallel.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/da/LC_MESSAGES/splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/da/LC_MESSAGES/stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/da/LC_MESSAGES/tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/da/LC_MESSAGES/tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/R-base.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/R-compiler.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/R-grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/R-graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/R-grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/R-methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/R-parallel.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/R-splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/R-stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/R-stats4.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/R-tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/R-tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/R-utils.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/R.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/RGui.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/parallel.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/de/LC_MESSAGES/utils.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en/LC_MESSAGES/R.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en@quot/LC_MESSAGES/R-base.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en@quot/LC_MESSAGES/R-compiler.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en@quot/LC_MESSAGES/R-grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en@quot/LC_MESSAGES/R-graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en@quot/LC_MESSAGES/R-grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en@quot/LC_MESSAGES/R-methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en@quot/LC_MESSAGES/R-parallel.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en@quot/LC_MESSAGES/R-splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en@quot/LC_MESSAGES/R-stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en@quot/LC_MESSAGES/R-stats4.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en@quot/LC_MESSAGES/R-tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en@quot/LC_MESSAGES/R-tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en@quot/LC_MESSAGES/R-utils.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en@quot/LC_MESSAGES/R.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en@quot/LC_MESSAGES/grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en@quot/LC_MESSAGES/graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en@quot/LC_MESSAGES/grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en@quot/LC_MESSAGES/methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en@quot/LC_MESSAGES/parallel.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en@quot/LC_MESSAGES/splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en@quot/LC_MESSAGES/stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en@quot/LC_MESSAGES/tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en@quot/LC_MESSAGES/tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en@quot/LC_MESSAGES/utils.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en_GB/LC_MESSAGES/R-grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en_GB/LC_MESSAGES/R.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/en_GB/LC_MESSAGES/grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/es/LC_MESSAGES/R.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/es/LC_MESSAGES/RGui.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/es/LC_MESSAGES/graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fa/LC_MESSAGES/R-base.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fa/LC_MESSAGES/R-utils.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fa/LC_MESSAGES/R.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fa/LC_MESSAGES/RGui.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/R-base.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/R-compiler.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/R-grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/R-graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/R-grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/R-methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/R-parallel.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/R-splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/R-stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/R-stats4.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/R-tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/R-tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/R-utils.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/R.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/RGui.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/parallel.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/fr/LC_MESSAGES/utils.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/R-base.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/R-compiler.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/R-grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/R-graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/R-grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/R-methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/R-parallel.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/R-splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/R-stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/R-stats4.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/R-tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/R-tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/R-utils.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/R.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/RGui.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/parallel.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/it/LC_MESSAGES/utils.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ja/LC_MESSAGES/R-base.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ja/LC_MESSAGES/R-compiler.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ja/LC_MESSAGES/R-grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ja/LC_MESSAGES/R-graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ja/LC_MESSAGES/R-grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ja/LC_MESSAGES/R-methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ja/LC_MESSAGES/R-splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ja/LC_MESSAGES/R-stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ja/LC_MESSAGES/R-stats4.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ja/LC_MESSAGES/R-tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ja/LC_MESSAGES/R-tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ja/LC_MESSAGES/R-utils.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ja/LC_MESSAGES/R.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ja/LC_MESSAGES/RGui.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ja/LC_MESSAGES/grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ja/LC_MESSAGES/graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ja/LC_MESSAGES/grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ja/LC_MESSAGES/methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ja/LC_MESSAGES/splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ja/LC_MESSAGES/stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ja/LC_MESSAGES/tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ja/LC_MESSAGES/tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/R-base.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/R-compiler.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/R-grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/R-graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/R-grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/R-methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/R-parallel.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/R-splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/R-stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/R-stats4.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/R-tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/R-tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/R-utils.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/R.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/RGui.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/parallel.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ko/LC_MESSAGES/utils.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/R-base.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/R-compiler.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/R-grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/R-graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/R-grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/R-methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/R-parallel.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/R-splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/R-stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/R-stats4.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/R-tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/R-tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/R-utils.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/R.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/RGui.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/parallel.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/lt/LC_MESSAGES/utils.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/nn/LC_MESSAGES/R-base.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/nn/LC_MESSAGES/R.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/nn/LC_MESSAGES/RGui.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/nn/LC_MESSAGES/graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/R-base.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/R-compiler.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/R-grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/R-graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/R-grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/R-methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/R-parallel.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/R-splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/R-stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/R-stats4.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/R-tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/R-tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/R-utils.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/R.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/RGui.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/parallel.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pl/LC_MESSAGES/utils.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pt_BR/LC_MESSAGES/R-base.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pt_BR/LC_MESSAGES/R-compiler.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pt_BR/LC_MESSAGES/R-grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pt_BR/LC_MESSAGES/R-graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pt_BR/LC_MESSAGES/R-grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pt_BR/LC_MESSAGES/R-methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pt_BR/LC_MESSAGES/R-splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pt_BR/LC_MESSAGES/R-stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pt_BR/LC_MESSAGES/R-stats4.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pt_BR/LC_MESSAGES/R-tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pt_BR/LC_MESSAGES/R-tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pt_BR/LC_MESSAGES/R-utils.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pt_BR/LC_MESSAGES/R.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pt_BR/LC_MESSAGES/RGui.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pt_BR/LC_MESSAGES/grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pt_BR/LC_MESSAGES/graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pt_BR/LC_MESSAGES/grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pt_BR/LC_MESSAGES/methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pt_BR/LC_MESSAGES/splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pt_BR/LC_MESSAGES/stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pt_BR/LC_MESSAGES/tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/pt_BR/LC_MESSAGES/tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/R-base.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/R-compiler.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/R-grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/R-graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/R-grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/R-methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/R-parallel.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/R-splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/R-stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/R-stats4.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/R-tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/R-tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/R-utils.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/R.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/RGui.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/parallel.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/ru/LC_MESSAGES/utils.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/tr/LC_MESSAGES/R-base.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/tr/LC_MESSAGES/R-stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/tr/LC_MESSAGES/R-stats4.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/tr/LC_MESSAGES/R-tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/tr/LC_MESSAGES/R-utils.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/tr/LC_MESSAGES/R.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/tr/LC_MESSAGES/RGui.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/tr/LC_MESSAGES/graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_CN/LC_MESSAGES/R-base.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_CN/LC_MESSAGES/R-compiler.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_CN/LC_MESSAGES/R-grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_CN/LC_MESSAGES/R-graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_CN/LC_MESSAGES/R-grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_CN/LC_MESSAGES/R-methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_CN/LC_MESSAGES/R-parallel.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_CN/LC_MESSAGES/R-splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_CN/LC_MESSAGES/R-stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_CN/LC_MESSAGES/R-stats4.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_CN/LC_MESSAGES/R-tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_CN/LC_MESSAGES/R-tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_CN/LC_MESSAGES/R-utils.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_CN/LC_MESSAGES/R.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_CN/LC_MESSAGES/RGui.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_CN/LC_MESSAGES/grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_CN/LC_MESSAGES/graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_CN/LC_MESSAGES/grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_CN/LC_MESSAGES/methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_CN/LC_MESSAGES/parallel.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_CN/LC_MESSAGES/splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_CN/LC_MESSAGES/stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_CN/LC_MESSAGES/tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_CN/LC_MESSAGES/tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/R-base.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/R-compiler.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/R-grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/R-graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/R-grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/R-methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/R-parallel.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/R-splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/R-stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/R-stats4.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/R-tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/R-tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/R-utils.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/R.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/RGui.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/grDevices.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/graphics.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/grid.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/methods.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/parallel.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/splines.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/stats.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/tcltk.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/tools.mo +0 -0
- package/dist/vfs/usr/lib/R/library/translations/zh_TW/LC_MESSAGES/utils.mo +0 -0
- package/dist/vfs/usr/lib/R/library/utils/doc/Sweave.pdf +0 -0
- package/dist/vfs/usr/lib/R/library/utils/help/AnIndex +382 -0
- package/dist/vfs/usr/lib/R/library/utils/help/aliases.rds +0 -0
- package/dist/vfs/usr/lib/R/library/utils/help/paths.rds +0 -0
- package/dist/vfs/usr/lib/R/library/utils/help/utils.rdb +0 -0
- package/dist/vfs/usr/lib/R/library/utils/help/utils.rdx +0 -0
- package/dist/vfs/usr/lib/R/library/utils/html/00Index.html +802 -0
- package/dist/vfs/usr/lib/R/library/utils/html/R.css +130 -0
- package/dist/vfs/usr/lib/R/library/utils/misc/exDIF.csv +5 -0
- package/dist/vfs/usr/lib/R/library/utils/misc/exDIF.dif +44 -0
- package/dist/vfs/usr/lib/R/library/utils/tests/Sexpr-verb-ex.Rnw +44 -0
- package/dist/vfs/usr/lib/R/library/utils/tests/Sweave-tst.R +85 -0
- package/dist/vfs/usr/lib/R/library/utils/tests/charclass.R +97 -0
- package/dist/vfs/usr/lib/R/library/utils/tests/completion.R +37 -0
- package/dist/vfs/usr/lib/R/library/utils/tests/customgraphics.Rnw +20 -0
- package/dist/vfs/usr/lib/R/library/utils/tests/download.file.R +170 -0
- package/dist/vfs/usr/lib/R/library/utils/tests/keepsource.Rnw +12 -0
- package/dist/vfs/usr/lib/R/library/utils/tests/relist.R +24 -0
- package/dist/vfs/usr/lib/R/library/utils/tests/swv-keepSrc-1.Rnw +48 -0
- package/dist/vfs/usr/lib/R/modules/internet.so +0 -0
- package/dist/vfs/usr/lib/R/modules/lapack.so +0 -0
- package/dist/vfs/usr/lib/R/share/R/REMOVE.R +82 -0
- package/dist/vfs/usr/lib/R/share/R/examples-footer.R +12 -0
- package/dist/vfs/usr/lib/R/share/R/examples-header.R +85 -0
- package/dist/vfs/usr/lib/R/share/R/nspackloader.R +27 -0
- package/dist/vfs/usr/lib/R/share/R/tests-startup.R +4 -0
- package/dist/vfs/usr/lib/R/share/Rd/macros/system.Rd +56 -0
- package/dist/vfs/usr/lib/R/share/dictionaries/en_stats.rds +0 -0
- package/dist/vfs/usr/lib/R/share/encodings/Adobe-glyphlist +4200 -0
- package/dist/vfs/usr/lib/R/share/encodings/character-sets +1900 -0
- package/dist/vfs/usr/lib/R/share/java/README +3 -0
- package/dist/vfs/usr/lib/R/share/java/getsp.class +0 -0
- package/dist/vfs/usr/lib/R/share/licenses/AGPL-3 +661 -0
- package/dist/vfs/usr/lib/R/share/licenses/Artistic-2.0 +197 -0
- package/dist/vfs/usr/lib/R/share/licenses/BSD_2_clause +40 -0
- package/dist/vfs/usr/lib/R/share/licenses/BSD_3_clause +46 -0
- package/dist/vfs/usr/lib/R/share/licenses/GPL-2 +339 -0
- package/dist/vfs/usr/lib/R/share/licenses/GPL-3 +674 -0
- package/dist/vfs/usr/lib/R/share/licenses/LGPL-2 +481 -0
- package/dist/vfs/usr/lib/R/share/licenses/LGPL-2.1 +502 -0
- package/dist/vfs/usr/lib/R/share/licenses/LGPL-3 +165 -0
- package/dist/vfs/usr/lib/R/share/licenses/MIT +35 -0
- package/dist/vfs/usr/lib/R/share/licenses/license.db +268 -0
- package/dist/vfs/usr/lib/R/share/make/basepkg.mk +207 -0
- package/dist/vfs/usr/lib/R/share/make/check_vars_ini.mk +18 -0
- package/dist/vfs/usr/lib/R/share/make/check_vars_out.mk +22 -0
- package/dist/vfs/usr/lib/R/share/make/clean.mk +2 -0
- package/dist/vfs/usr/lib/R/share/make/config.mk +6 -0
- package/dist/vfs/usr/lib/R/share/make/lazycomp.mk +23 -0
- package/dist/vfs/usr/lib/R/share/make/shlib.mk +30 -0
- package/dist/vfs/usr/lib/R/share/make/vars.mk +14 -0
- package/dist/vfs/usr/lib/R/share/make/winshlib.mk +41 -0
- package/dist/vfs/usr/lib/R/share/sh/echo.sh +4 -0
- package/dist/vfs/usr/lib/R/share/texmf/bibtex/bib/RJournal.bib +10345 -0
- package/dist/vfs/usr/lib/R/share/texmf/bibtex/bib/Rnews.bib +2733 -0
- package/dist/vfs/usr/lib/R/share/texmf/bibtex/bst/jss.bst +1653 -0
- package/dist/vfs/usr/lib/R/share/texmf/tex/latex/Rd.sty +450 -0
- package/dist/vfs/usr/lib/R/share/texmf/tex/latex/Sweave.sty +59 -0
- package/dist/vfs/usr/lib/R/share/texmf/tex/latex/jss.cls +490 -0
- package/dist/vfs/usr/lib/R/share/texmf/tex/latex/omscmtt.fd +21 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Abidjan +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Accra +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Addis_Ababa +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Algiers +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Asmara +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Asmera +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Bamako +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Bangui +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Banjul +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Bissau +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Blantyre +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Brazzaville +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Bujumbura +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Cairo +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Casablanca +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Ceuta +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Conakry +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Dakar +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Dar_es_Salaam +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Djibouti +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Douala +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/El_Aaiun +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Freetown +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Gaborone +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Harare +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Johannesburg +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Juba +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Kampala +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Khartoum +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Kigali +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Kinshasa +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Lagos +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Libreville +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Lome +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Luanda +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Lubumbashi +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Lusaka +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Malabo +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Maputo +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Maseru +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Mbabane +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Mogadishu +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Monrovia +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Nairobi +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Ndjamena +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Niamey +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Nouakchott +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Ouagadougou +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Porto-Novo +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Sao_Tome +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Timbuktu +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Tripoli +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Tunis +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Africa/Windhoek +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Adak +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Anchorage +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Anguilla +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Antigua +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Araguaina +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Argentina/Buenos_Aires +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Argentina/Catamarca +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Argentina/ComodRivadavia +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Argentina/Cordoba +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Argentina/Jujuy +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Argentina/La_Rioja +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Argentina/Mendoza +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Argentina/Rio_Gallegos +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Argentina/Salta +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Argentina/San_Juan +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Argentina/San_Luis +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Argentina/Tucuman +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Argentina/Ushuaia +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Aruba +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Asuncion +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Atikokan +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Atka +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Bahia +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Bahia_Banderas +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Barbados +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Belem +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Belize +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Blanc-Sablon +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Boa_Vista +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Bogota +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Boise +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Buenos_Aires +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Cambridge_Bay +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Campo_Grande +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Cancun +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Caracas +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Catamarca +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Cayenne +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Cayman +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Chicago +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Chihuahua +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Ciudad_Juarez +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Coral_Harbour +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Cordoba +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Costa_Rica +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Creston +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Cuiaba +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Curacao +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Danmarkshavn +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Dawson +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Dawson_Creek +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Denver +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Detroit +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Dominica +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Edmonton +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Eirunepe +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/El_Salvador +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Ensenada +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Fort_Nelson +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Fort_Wayne +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Fortaleza +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Glace_Bay +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Godthab +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Goose_Bay +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Grand_Turk +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Grenada +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Guadeloupe +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Guatemala +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Guayaquil +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Guyana +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Halifax +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Havana +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Hermosillo +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Indiana/Indianapolis +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Indiana/Knox +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Indiana/Marengo +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Indiana/Petersburg +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Indiana/Tell_City +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Indiana/Vevay +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Indiana/Vincennes +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Indiana/Winamac +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Indianapolis +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Inuvik +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Iqaluit +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Jamaica +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Jujuy +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Juneau +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Kentucky/Louisville +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Kentucky/Monticello +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Knox_IN +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Kralendijk +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/La_Paz +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Lima +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Los_Angeles +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Louisville +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Lower_Princes +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Maceio +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Managua +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Manaus +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Marigot +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Martinique +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Matamoros +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Mazatlan +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Mendoza +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Menominee +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Merida +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Metlakatla +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Mexico_City +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Miquelon +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Moncton +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Monterrey +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Montevideo +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Montreal +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Montserrat +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Nassau +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/New_York +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Nipigon +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Nome +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Noronha +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/North_Dakota/Beulah +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/North_Dakota/Center +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/North_Dakota/New_Salem +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Nuuk +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Ojinaga +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Panama +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Pangnirtung +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Paramaribo +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Phoenix +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Port-au-Prince +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Port_of_Spain +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Porto_Acre +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Porto_Velho +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Puerto_Rico +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Punta_Arenas +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Rainy_River +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Rankin_Inlet +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Recife +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Regina +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Resolute +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Rio_Branco +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Rosario +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Santa_Isabel +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Santarem +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Santiago +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Santo_Domingo +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Sao_Paulo +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Scoresbysund +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Shiprock +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Sitka +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/St_Barthelemy +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/St_Johns +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/St_Kitts +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/St_Lucia +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/St_Thomas +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/St_Vincent +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Swift_Current +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Tegucigalpa +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Thule +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Thunder_Bay +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Tijuana +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Toronto +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Tortola +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Vancouver +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Virgin +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Whitehorse +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Winnipeg +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Yakutat +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/America/Yellowknife +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Antarctica/Casey +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Antarctica/Davis +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Antarctica/DumontDUrville +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Antarctica/Macquarie +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Antarctica/Mawson +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Antarctica/McMurdo +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Antarctica/Palmer +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Antarctica/Rothera +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Antarctica/South_Pole +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Antarctica/Syowa +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Antarctica/Troll +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Antarctica/Vostok +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Arctic/Longyearbyen +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Aden +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Almaty +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Amman +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Anadyr +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Aqtau +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Aqtobe +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Ashgabat +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Ashkhabad +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Atyrau +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Baghdad +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Bahrain +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Baku +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Bangkok +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Barnaul +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Beirut +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Bishkek +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Brunei +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Calcutta +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Chita +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Choibalsan +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Chongqing +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Chungking +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Colombo +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Dacca +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Damascus +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Dhaka +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Dili +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Dubai +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Dushanbe +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Famagusta +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Gaza +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Harbin +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Hebron +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Ho_Chi_Minh +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Hong_Kong +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Hovd +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Irkutsk +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Istanbul +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Jakarta +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Jayapura +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Jerusalem +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Kabul +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Kamchatka +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Karachi +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Kashgar +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Kathmandu +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Katmandu +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Khandyga +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Kolkata +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Krasnoyarsk +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Kuala_Lumpur +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Kuching +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Kuwait +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Macao +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Macau +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Magadan +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Makassar +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Manila +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Muscat +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Nicosia +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Novokuznetsk +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Novosibirsk +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Omsk +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Oral +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Phnom_Penh +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Pontianak +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Pyongyang +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Qatar +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Qostanay +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Qyzylorda +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Rangoon +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Riyadh +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Saigon +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Sakhalin +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Samarkand +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Seoul +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Shanghai +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Singapore +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Srednekolymsk +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Taipei +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Tashkent +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Tbilisi +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Tehran +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Tel_Aviv +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Thimbu +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Thimphu +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Tokyo +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Tomsk +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Ujung_Pandang +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Ulaanbaatar +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Ulan_Bator +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Urumqi +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Ust-Nera +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Vientiane +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Vladivostok +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Yakutsk +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Yangon +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Yekaterinburg +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Asia/Yerevan +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Atlantic/Azores +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Atlantic/Bermuda +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Atlantic/Canary +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Atlantic/Cape_Verde +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Atlantic/Faeroe +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Atlantic/Faroe +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Atlantic/Jan_Mayen +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Atlantic/Madeira +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Atlantic/Reykjavik +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Atlantic/South_Georgia +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Atlantic/St_Helena +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Atlantic/Stanley +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Australia/ACT +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Australia/Adelaide +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Australia/Brisbane +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Australia/Broken_Hill +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Australia/Canberra +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Australia/Currie +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Australia/Darwin +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Australia/Eucla +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Australia/Hobart +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Australia/LHI +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Australia/Lindeman +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Australia/Lord_Howe +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Australia/Melbourne +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Australia/NSW +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Australia/North +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Australia/Perth +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Australia/Queensland +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Australia/South +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Australia/Sydney +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Australia/Tasmania +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Australia/Victoria +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Australia/West +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Australia/Yancowinna +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Brazil/Acre +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Brazil/DeNoronha +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Brazil/East +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Brazil/West +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/CET +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/CST6CDT +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Canada/Atlantic +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Canada/Central +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Canada/Eastern +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Canada/Mountain +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Canada/Newfoundland +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Canada/Pacific +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Canada/Saskatchewan +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Canada/Yukon +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Chile/Continental +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Chile/EasterIsland +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Cuba +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/EET +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/EST +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/EST5EDT +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Egypt +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Eire +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT+0 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT+1 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT+10 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT+11 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT+12 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT+2 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT+3 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT+4 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT+5 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT+6 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT+7 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT+8 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT+9 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT-0 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT-1 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT-10 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT-11 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT-12 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT-13 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT-14 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT-2 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT-3 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT-4 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT-5 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT-6 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT-7 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT-8 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT-9 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/GMT0 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/Greenwich +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/UCT +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/UTC +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/Universal +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Etc/Zulu +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Amsterdam +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Andorra +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Astrakhan +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Athens +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Belfast +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Belgrade +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Berlin +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Bratislava +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Brussels +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Bucharest +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Budapest +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Busingen +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Chisinau +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Copenhagen +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Dublin +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Gibraltar +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Guernsey +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Helsinki +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Isle_of_Man +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Istanbul +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Jersey +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Kaliningrad +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Kiev +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Kirov +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Kyiv +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Lisbon +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Ljubljana +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/London +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Luxembourg +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Madrid +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Malta +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Mariehamn +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Minsk +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Monaco +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Moscow +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Nicosia +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Oslo +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Paris +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Podgorica +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Prague +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Riga +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Rome +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Samara +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/San_Marino +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Sarajevo +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Saratov +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Simferopol +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Skopje +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Sofia +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Stockholm +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Tallinn +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Tirane +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Tiraspol +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Ulyanovsk +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Uzhgorod +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Vaduz +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Vatican +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Vienna +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Vilnius +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Volgograd +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Warsaw +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Zagreb +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Zaporozhye +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Europe/Zurich +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/GB +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/GB-Eire +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/GMT +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/GMT+0 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/GMT-0 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/GMT0 +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Greenwich +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/HST +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Hongkong +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Iceland +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Indian/Antananarivo +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Indian/Chagos +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Indian/Christmas +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Indian/Cocos +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Indian/Comoro +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Indian/Kerguelen +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Indian/Mahe +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Indian/Maldives +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Indian/Mauritius +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Indian/Mayotte +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Indian/Reunion +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Iran +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Israel +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Jamaica +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Japan +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Kwajalein +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Libya +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/MET +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/MST +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/MST7MDT +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Mexico/BajaNorte +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Mexico/BajaSur +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Mexico/General +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/NZ +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/NZ-CHAT +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Navajo +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/PRC +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/PST8PDT +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Apia +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Auckland +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Bougainville +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Chatham +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Chuuk +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Easter +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Efate +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Enderbury +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Fakaofo +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Fiji +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Funafuti +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Galapagos +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Gambier +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Guadalcanal +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Guam +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Honolulu +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Johnston +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Kanton +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Kiritimati +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Kosrae +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Kwajalein +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Majuro +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Marquesas +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Midway +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Nauru +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Niue +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Norfolk +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Noumea +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Pago_Pago +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Palau +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Pitcairn +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Pohnpei +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Ponape +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Port_Moresby +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Rarotonga +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Saipan +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Samoa +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Tahiti +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Tarawa +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Tongatapu +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Truk +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Wake +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Wallis +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Pacific/Yap +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Poland +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Portugal +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/ROC +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/ROK +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Singapore +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Turkey +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/UCT +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/US/Alaska +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/US/Aleutian +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/US/Arizona +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/US/Central +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/US/East-Indiana +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/US/Eastern +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/US/Hawaii +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/US/Indiana-Starke +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/US/Michigan +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/US/Mountain +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/US/Pacific +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/US/Samoa +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/UTC +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Universal +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/VERSION +1 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/W-SU +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/WET +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/Zulu +0 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/iso3166.tab +274 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/zone.tab +448 -0
- package/dist/vfs/usr/lib/R/share/zoneinfo/zone1970.tab +374 -0
- package/dist/vfs/usr/lib/R/tests/CRANtools.R +35 -0
- package/dist/vfs/usr/lib/R/tests/EmbeddedNuls.csv +0 -0
- package/dist/vfs/usr/lib/R/tests/Examples/datasets-Ex.Rout.save +3602 -0
- package/dist/vfs/usr/lib/R/tests/Examples/grDevices-Ex.Rout.save +4379 -0
- package/dist/vfs/usr/lib/R/tests/Examples/graphics-Ex.Rout.save +3237 -0
- package/dist/vfs/usr/lib/R/tests/Examples/grid-Ex.Rout.save +2458 -0
- package/dist/vfs/usr/lib/R/tests/Examples/splines-Ex.Rout.save +599 -0
- package/dist/vfs/usr/lib/R/tests/Examples/stats-Ex.Rout.save +19391 -0
- package/dist/vfs/usr/lib/R/tests/Examples/stats4-Ex.Rout.save +340 -0
- package/dist/vfs/usr/lib/R/tests/Examples/tools-Ex.Rout.save +1125 -0
- package/dist/vfs/usr/lib/R/tests/Makefile +76 -0
- package/dist/vfs/usr/lib/R/tests/Makefile.common +529 -0
- package/dist/vfs/usr/lib/R/tests/PCRE.R +123 -0
- package/dist/vfs/usr/lib/R/tests/README +117 -0
- package/dist/vfs/usr/lib/R/tests/WinUnicode.dat +0 -0
- package/dist/vfs/usr/lib/R/tests/any-all.R +93 -0
- package/dist/vfs/usr/lib/R/tests/any-all.Rout.save +111 -0
- package/dist/vfs/usr/lib/R/tests/arima.rda +0 -0
- package/dist/vfs/usr/lib/R/tests/arith-true.R +220 -0
- package/dist/vfs/usr/lib/R/tests/arith-true.Rout.save +327 -0
- package/dist/vfs/usr/lib/R/tests/arith.R +26 -0
- package/dist/vfs/usr/lib/R/tests/arith.Rout.save +88 -0
- package/dist/vfs/usr/lib/R/tests/array-subset.R +86 -0
- package/dist/vfs/usr/lib/R/tests/complex.R +159 -0
- package/dist/vfs/usr/lib/R/tests/complex.Rout.save +297 -0
- package/dist/vfs/usr/lib/R/tests/conditions.R +155 -0
- package/dist/vfs/usr/lib/R/tests/d-p-q-r-tests.R +504 -0
- package/dist/vfs/usr/lib/R/tests/d-p-q-r-tests.Rout.save +884 -0
- package/dist/vfs/usr/lib/R/tests/d-p-q-r-tst-2.R +829 -0
- package/dist/vfs/usr/lib/R/tests/datasets.R +9 -0
- package/dist/vfs/usr/lib/R/tests/datasets.Rout.save +669 -0
- package/dist/vfs/usr/lib/R/tests/datetime.R +43 -0
- package/dist/vfs/usr/lib/R/tests/datetime.Rout.save +81 -0
- package/dist/vfs/usr/lib/R/tests/datetime2.R +150 -0
- package/dist/vfs/usr/lib/R/tests/datetime2.Rout.save +529 -0
- package/dist/vfs/usr/lib/R/tests/datetime3.R +535 -0
- package/dist/vfs/usr/lib/R/tests/datetime4.R +94 -0
- package/dist/vfs/usr/lib/R/tests/datetime4.Rout.save +386 -0
- package/dist/vfs/usr/lib/R/tests/datetime5.R +30 -0
- package/dist/vfs/usr/lib/R/tests/datetime5.Rout.save +92 -0
- package/dist/vfs/usr/lib/R/tests/demos.R +30 -0
- package/dist/vfs/usr/lib/R/tests/demos.Rout.save +1642 -0
- package/dist/vfs/usr/lib/R/tests/demos2.R +9 -0
- package/dist/vfs/usr/lib/R/tests/encodings.R +27 -0
- package/dist/vfs/usr/lib/R/tests/eval-etc.R +234 -0
- package/dist/vfs/usr/lib/R/tests/eval-etc.Rout.save +1014 -0
- package/dist/vfs/usr/lib/R/tests/eval-fns.R +99 -0
- package/dist/vfs/usr/lib/R/tests/iconv.R +35 -0
- package/dist/vfs/usr/lib/R/tests/iec60559.R +18 -0
- package/dist/vfs/usr/lib/R/tests/iec60559.Rout.save +60 -0
- package/dist/vfs/usr/lib/R/tests/internet.R +20 -0
- package/dist/vfs/usr/lib/R/tests/internet.Rout.save +164 -0
- package/dist/vfs/usr/lib/R/tests/internet2.R +69 -0
- package/dist/vfs/usr/lib/R/tests/isas-tests.Rin +60 -0
- package/dist/vfs/usr/lib/R/tests/isas-tests.Rout.save +2598 -0
- package/dist/vfs/usr/lib/R/tests/lapack.R +175 -0
- package/dist/vfs/usr/lib/R/tests/lapack.Rout.save +435 -0
- package/dist/vfs/usr/lib/R/tests/libcurl.R +88 -0
- package/dist/vfs/usr/lib/R/tests/lm-tests.R +101 -0
- package/dist/vfs/usr/lib/R/tests/lm-tests.Rout.save +414 -0
- package/dist/vfs/usr/lib/R/tests/method-dispatch.R +157 -0
- package/dist/vfs/usr/lib/R/tests/method-dispatch.Rout.save +222 -0
- package/dist/vfs/usr/lib/R/tests/nanbug.rda +0 -0
- package/dist/vfs/usr/lib/R/tests/no-segfault.Rin +143 -0
- package/dist/vfs/usr/lib/R/tests/ok-errors.R +24 -0
- package/dist/vfs/usr/lib/R/tests/ok-errors.Rout.save +44 -0
- package/dist/vfs/usr/lib/R/tests/p-qbeta-strict-tst.R +595 -0
- package/dist/vfs/usr/lib/R/tests/p-r-random-tests.R +181 -0
- package/dist/vfs/usr/lib/R/tests/p-r-random-tests.Rout.save +326 -0
- package/dist/vfs/usr/lib/R/tests/primitives.R +146 -0
- package/dist/vfs/usr/lib/R/tests/print-tests.R +343 -0
- package/dist/vfs/usr/lib/R/tests/print-tests.Rout.save +946 -0
- package/dist/vfs/usr/lib/R/tests/r-strict-tst.R +57 -0
- package/dist/vfs/usr/lib/R/tests/reg-BLAS.R +135 -0
- package/dist/vfs/usr/lib/R/tests/reg-IO.R +60 -0
- package/dist/vfs/usr/lib/R/tests/reg-IO.Rout.save +176 -0
- package/dist/vfs/usr/lib/R/tests/reg-IO2.R +124 -0
- package/dist/vfs/usr/lib/R/tests/reg-IO2.Rout.save +252 -0
- package/dist/vfs/usr/lib/R/tests/reg-S4-examples.R +357 -0
- package/dist/vfs/usr/lib/R/tests/reg-S4.R +1024 -0
- package/dist/vfs/usr/lib/R/tests/reg-S4.Rout.save +1365 -0
- package/dist/vfs/usr/lib/R/tests/reg-examples1.R +92 -0
- package/dist/vfs/usr/lib/R/tests/reg-examples2.R +38 -0
- package/dist/vfs/usr/lib/R/tests/reg-examples3.Rout.save +546 -0
- package/dist/vfs/usr/lib/R/tests/reg-packages.R +559 -0
- package/dist/vfs/usr/lib/R/tests/reg-plot-latin1.R +6 -0
- package/dist/vfs/usr/lib/R/tests/reg-plot-latin1.pdf.save +649 -0
- package/dist/vfs/usr/lib/R/tests/reg-plot.R +298 -0
- package/dist/vfs/usr/lib/R/tests/reg-plot.pdf.save +11498 -0
- package/dist/vfs/usr/lib/R/tests/reg-tests-1a.R +4898 -0
- package/dist/vfs/usr/lib/R/tests/reg-tests-1b.R +2120 -0
- package/dist/vfs/usr/lib/R/tests/reg-tests-1c.R +1631 -0
- package/dist/vfs/usr/lib/R/tests/reg-tests-1d.R +5797 -0
- package/dist/vfs/usr/lib/R/tests/reg-tests-1e.R +557 -0
- package/dist/vfs/usr/lib/R/tests/reg-tests-2.R +3370 -0
- package/dist/vfs/usr/lib/R/tests/reg-tests-2.Rout.save +8317 -0
- package/dist/vfs/usr/lib/R/tests/reg-tests-3.Rout.save +1075 -0
- package/dist/vfs/usr/lib/R/tests/reg-translation.R +125 -0
- package/dist/vfs/usr/lib/R/tests/simple-true.R +190 -0
- package/dist/vfs/usr/lib/R/tests/simple-true.Rout.save +300 -0
- package/dist/vfs/usr/lib/R/tests/structure.R +48 -0
- package/dist/vfs/usr/lib/R/tests/structure.Rout.save +88 -0
- package/dist/vfs/usr/lib/R/tests/timezone.R +9 -0
- package/dist/vfs/usr/lib/R/tests/utf8-regex.R +373 -0
- package/dist/webR/chan/channel-common.d.ts +19 -0
- package/dist/webR/chan/channel-service.d.ts +30 -0
- package/dist/webR/chan/channel-shared.d.ts +24 -0
- package/dist/webR/chan/channel.d.ts +43 -0
- package/dist/webR/chan/message.d.ts +50 -0
- package/dist/webR/chan/queue.d.ts +17 -0
- package/dist/webR/chan/serviceworker.d.ts +6 -0
- package/dist/webR/chan/task-common.d.ts +17 -0
- package/dist/webR/chan/task-main.d.ts +15 -0
- package/dist/webR/chan/task-worker.d.ts +42 -0
- package/dist/webR/compat.d.ts +2 -0
- package/dist/webR/config.d.ts +2 -0
- package/dist/webR/console.d.ts +68 -0
- package/dist/webR/emscripten.d.ts +126 -0
- package/dist/webR/payload.d.ts +47 -0
- package/dist/webR/proxy.d.ts +115 -0
- package/dist/webR/robj-main.d.ts +112 -0
- package/dist/webR/robj-worker.d.ts +225 -0
- package/dist/webR/robj.d.ts +113 -0
- package/dist/webR/utils-r.d.ts +25 -0
- package/dist/webR/utils.d.ts +12 -0
- package/dist/webR/webr-chan.d.ts +141 -0
- package/dist/webR/webr-main.d.ts +282 -0
- package/dist/webR/webr-worker.d.ts +1 -0
- package/dist/webr-serviceworker.js +1654 -0
- package/dist/webr-serviceworker.js.map +7 -0
- package/dist/webr-serviceworker.mjs +1658 -0
- package/dist/webr-serviceworker.mjs.map +7 -0
- package/dist/webr-worker.js +4546 -0
- package/dist/webr-worker.js.map +7 -0
- package/dist/webr.cjs +4 -0
- package/dist/webr.cjs.map +7 -0
- package/dist/webr.mjs +4 -0
- package/dist/webr.mjs.map +7 -0
- package/package.json +1 -1
|
@@ -0,0 +1,4898 @@
|
|
|
1
|
+
## Up to PR#9999 for R < 3.0.0
|
|
2
|
+
|
|
3
|
+
pdf("reg-tests-1a.pdf", encoding = "ISOLatin1.enc")
|
|
4
|
+
|
|
5
|
+
## force standard handling for data frames
|
|
6
|
+
options(stringsAsFactors=FALSE) # R >= 4.0.0
|
|
7
|
+
## .Machine
|
|
8
|
+
(Meps <- .Machine$double.eps)# and use it in this file
|
|
9
|
+
## Facilitate diagnosing of testing startup:
|
|
10
|
+
envLst <- c(t(outer(c("R_ENVIRON","R_PROFILE"), c("","_USER"), paste0)),
|
|
11
|
+
"R_CHECK_ENVIRON","R_LIBS")
|
|
12
|
+
cbind(Sys.getenv(envLst))
|
|
13
|
+
.libPaths()
|
|
14
|
+
|
|
15
|
+
(have_cat <- nzchar(Sys.which("cat")))
|
|
16
|
+
assertError <- tools::assertError
|
|
17
|
+
|
|
18
|
+
## regression test for PR#376
|
|
19
|
+
aggregate(ts(1:20), nfreq=1/3)
|
|
20
|
+
## Comments: moved from aggregate.Rd
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## aperm
|
|
24
|
+
# check the names
|
|
25
|
+
x <- array(1:24, c(4, 6))
|
|
26
|
+
nms <- list(happy=letters[1:4], sad=LETTERS[1:6])
|
|
27
|
+
|
|
28
|
+
dimnames(x) <- nms
|
|
29
|
+
tmp <- aperm(x, c(2, 1))
|
|
30
|
+
stopifnot(all.equal(dimnames(tmp), nms[c(2, 1)]))
|
|
31
|
+
|
|
32
|
+
dimnames(x) <- c(nms[1], list(NULL))
|
|
33
|
+
tmp <- aperm(x, c(2, 1))
|
|
34
|
+
stopifnot(all.equal(dimnames(tmp), c(list(NULL), nms[1])))
|
|
35
|
+
|
|
36
|
+
names(nms) <- c("happy", "sad")
|
|
37
|
+
dimnames(x) <- nms
|
|
38
|
+
tmp <- aperm(x, c(2, 1))
|
|
39
|
+
stopifnot(all.equal(names(dimnames(tmp)), names(nms[c(2, 1)])))
|
|
40
|
+
|
|
41
|
+
dimnames(x) <- c(nms[1], list(NULL))
|
|
42
|
+
tmp <- aperm(x, c(2, 1))
|
|
43
|
+
stopifnot(all.equal(names(dimnames(tmp)), c("", names(nms)[1])))
|
|
44
|
+
|
|
45
|
+
# check resize
|
|
46
|
+
stopifnot(dim(aperm(x, c(2, 1), FALSE)) == dim(x))
|
|
47
|
+
stopifnot(is.null(dimnames(aperm(x, c(2, 1), FALSE))))
|
|
48
|
+
|
|
49
|
+
# check the types
|
|
50
|
+
x <- array(1:24, c(4, 6))
|
|
51
|
+
stopifnot(all.equal(aperm(x, c(2, 1)), t(x)))
|
|
52
|
+
stopifnot(is.integer(aperm(x, c(2, 1))))
|
|
53
|
+
|
|
54
|
+
x <- x + 0.0
|
|
55
|
+
stopifnot(all.equal(aperm(x, c(2, 1)), t(x)))
|
|
56
|
+
stopifnot(is.double(aperm(x, c(2, 1))))
|
|
57
|
+
|
|
58
|
+
x <- x + 0.0i
|
|
59
|
+
stopifnot(all.equal(aperm(x, c(2, 1)), t(x)))
|
|
60
|
+
|
|
61
|
+
x[] <- LETTERS[1:24]
|
|
62
|
+
stopifnot(all.equal(aperm(x, c(2, 1)), t(x)))
|
|
63
|
+
|
|
64
|
+
x <- array(list("fred"), c(4, 6))
|
|
65
|
+
x[[3, 4]] <- 1:10
|
|
66
|
+
stopifnot(all.equal(aperm(x, c(2, 1)), t(x)))
|
|
67
|
+
## end of moved from aperm.Rd
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
## append
|
|
71
|
+
stopifnot(append(1:5, 0:1, after=3) == append(1:3, c(0:1, 4:5)))
|
|
72
|
+
## end of moved from append.Rd
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
## array
|
|
76
|
+
# funny object, but whatever was the point of that?
|
|
77
|
+
utils::str(array(1:3, 0))
|
|
78
|
+
## end of moved from array.Rd
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
## as.POSIXlt
|
|
82
|
+
z <- Sys.time()
|
|
83
|
+
stopifnot(range(z) == z,
|
|
84
|
+
min(z) == z,
|
|
85
|
+
max(z) == z,
|
|
86
|
+
mean(z) == z)
|
|
87
|
+
## end of moved from as.POSIXlt.Rd
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
## autoload
|
|
91
|
+
stopifnot(ls("Autoloads") == ls(envir = .AutoloadEnv), allow.logical0=TRUE)
|
|
92
|
+
## end of moved from autoload.Rd
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
## axis
|
|
96
|
+
Y <- c(10.50, 4.0, 13.75, 7.25)
|
|
97
|
+
plot(1:4, Y, xlim=c(0,5), ylim=c(0,15))
|
|
98
|
+
axis(side=4, at=Y, labels=LETTERS[1:4])
|
|
99
|
+
## end of moved from axis.Rd
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
## backsolve
|
|
103
|
+
r <- rbind(c(1,2,3),
|
|
104
|
+
c(0,1,1),
|
|
105
|
+
c(0,0,2))
|
|
106
|
+
( y <- backsolve(r, x <- c(8,4,2)) ) # -1 3 1
|
|
107
|
+
r %*% y # == x = (8,4,2)
|
|
108
|
+
( y2 <- backsolve(r, x, transpose = TRUE)) # 8 -12 -5
|
|
109
|
+
stopifnot(all.equal(drop(t(r) %*% y2), x))
|
|
110
|
+
stopifnot(all.equal(y, backsolve(t(r), x, upper = FALSE, transpose = TRUE)))
|
|
111
|
+
stopifnot(all.equal(y2, backsolve(t(r), x, upper = FALSE, transpose = FALSE)))
|
|
112
|
+
## end of moved from backsolve.Rd
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
## basename
|
|
116
|
+
dirname(character(0))
|
|
117
|
+
## end of moved from basename.Rd
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
## Bessel
|
|
121
|
+
## Check the Scaling :
|
|
122
|
+
nus <- c(0:5,10,20)
|
|
123
|
+
x <- seq(0,40,len=801)[-1]
|
|
124
|
+
for(nu in nus)
|
|
125
|
+
stopifnot(abs(1- besselK(x,nu)*exp( x) / besselK(x,nu,expo=TRUE)) < 2e-15)
|
|
126
|
+
for(nu in nus)
|
|
127
|
+
stopifnot(abs(1- besselI(x,nu)*exp(-x) / besselI(x,nu,expo=TRUE)) < 1e-15)
|
|
128
|
+
## end of moved from Bessel.Rd
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
## c
|
|
132
|
+
ll <- list(A = 1, c="C")
|
|
133
|
+
stopifnot(identical(c(ll, d=1:3), c(ll, as.list(c(d=1:3)))))
|
|
134
|
+
## moved from c.Rd
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
## Cauchy
|
|
138
|
+
stopifnot(all.equal(dcauchy(-1:4), 1 / (pi*(1 + (-1:4)^2))))
|
|
139
|
+
## end of moved from Cauchy.Rd
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
## chol
|
|
143
|
+
( m <- matrix(c(5,1,1,3),2,2) )
|
|
144
|
+
( cm <- chol(m) )
|
|
145
|
+
stopifnot(abs(m - t(cm) %*% cm) < 100* Meps)
|
|
146
|
+
|
|
147
|
+
## check with pivoting
|
|
148
|
+
( m <- matrix(c(5,1,1,3),2,2) )
|
|
149
|
+
( cm <- chol(m, TRUE) )
|
|
150
|
+
stopifnot(abs(m - t(cm) %*% cm) < 100* Meps)
|
|
151
|
+
|
|
152
|
+
x <- matrix(c(1:5, (1:5)^2), 5, 2)
|
|
153
|
+
m <- crossprod(x)
|
|
154
|
+
Q <- chol(m)
|
|
155
|
+
stopifnot(all.equal(t(Q) %*% Q, m))
|
|
156
|
+
|
|
157
|
+
Q <- chol(m, pivot = TRUE)
|
|
158
|
+
pivot <- attr(Q, "pivot")
|
|
159
|
+
oo <- order(pivot)
|
|
160
|
+
stopifnot(all.equal(t(Q[, oo]) %*% Q[, oo], m))
|
|
161
|
+
stopifnot(all.equal(t(Q) %*% Q, m[pivot, pivot]))
|
|
162
|
+
|
|
163
|
+
# now for something positive semi-definite
|
|
164
|
+
x <- cbind(x, x[, 1]+3*x[, 2])
|
|
165
|
+
m <- crossprod(x)
|
|
166
|
+
qr(m)$rank # is 2, as it should be
|
|
167
|
+
|
|
168
|
+
(Q <- chol(m, pivot = TRUE)) # NB wrong rank here ... see Warning section.
|
|
169
|
+
pivot <- attr(Q, "pivot")
|
|
170
|
+
oo <- order(pivot)
|
|
171
|
+
stopifnot(all.equal(t(Q[, oo]) %*% Q[, oo], m))
|
|
172
|
+
stopifnot(all.equal(t(Q) %*% Q, m[pivot, pivot]))
|
|
173
|
+
## end of moved from chol.Rd
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
## chol2inv
|
|
177
|
+
cma <- chol(ma <- cbind(1, 1:3, c(1,3,7)))
|
|
178
|
+
stopifnot(all.equal(diag(3), ma %*% chol2inv(cma)))
|
|
179
|
+
## end of moved from chol2inv.Rd
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
## col2rgb
|
|
183
|
+
pp <- palette(); names(pp) <- pp # add & use names :
|
|
184
|
+
stopifnot(col2rgb(1:8) == print(col2rgb(pp)))
|
|
185
|
+
stopifnot(col2rgb("#08a0ff") == c(8, 160, 255))
|
|
186
|
+
grC <- col2rgb(paste("gray",0:100,sep=""))
|
|
187
|
+
stopifnot(grC["red",] == grC["green",],
|
|
188
|
+
grC["red",] == grC["blue",],
|
|
189
|
+
grC["red", 1:4] == c(0,3,5,8))
|
|
190
|
+
## end of moved from col2rgb.Rd
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
## colnames
|
|
194
|
+
m0 <- matrix(NA, 4, 0)
|
|
195
|
+
rownames(m0, do.NULL = FALSE)
|
|
196
|
+
colnames(m0, do.NULL = FALSE)
|
|
197
|
+
## end of moved from colnames.Rd
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
## Constants
|
|
201
|
+
stopifnot(
|
|
202
|
+
nchar(letters) == 1,
|
|
203
|
+
month.abb == substr(month.name, 1, 3)
|
|
204
|
+
)
|
|
205
|
+
|
|
206
|
+
stopifnot(all.equal(pi, 4*atan(1), tol= 2*Meps))
|
|
207
|
+
|
|
208
|
+
# John Machin (1705) computed 100 decimals of pi :
|
|
209
|
+
stopifnot(all.equal(pi/4, 4*atan(1/5) - atan(1/239), 4*Meps))
|
|
210
|
+
## end of moved from Constants.Rd
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
## cor
|
|
214
|
+
stopifnot( is.na(var(1)),
|
|
215
|
+
!is.nan(var(1)))
|
|
216
|
+
|
|
217
|
+
zz <- c(-1.30167, -0.4957, -1.46749, 0.46927)
|
|
218
|
+
r <- cor(zz,zz); r - 1
|
|
219
|
+
stopifnot(r <= 1) # fails in R <= 1.3.x, for versions of Linux and Solaris
|
|
220
|
+
## end of moved from cor.Rd
|
|
221
|
+
## Spearman correlations ranked missing values at end <= 1.8.1
|
|
222
|
+
X <- cbind(c(1,3,4,NA),c(1,4,2,NA))
|
|
223
|
+
X1 <- X[-4,]
|
|
224
|
+
stopifnot(all.equal(cor(X,X,method="spearman",use="complete"),
|
|
225
|
+
cor(X1,X1,method="spearman",use="complete")))
|
|
226
|
+
stopifnot(all.equal(cov(X,X,method="spearman",use="complete"),
|
|
227
|
+
cov(X1,X1,method="spearman",use="complete")))
|
|
228
|
+
|
|
229
|
+
## DateTimeClasses
|
|
230
|
+
(dls <- .leap.seconds[-1] - .leap.seconds[-length(.leap.seconds)])
|
|
231
|
+
table(dls)
|
|
232
|
+
stopifnot(sum(dls == 365) >= 11)
|
|
233
|
+
## end of moved from DateTimeClasses.Rd
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
## deriv
|
|
237
|
+
trig.exp <- expression(sin(cos(x + y^2)))
|
|
238
|
+
D.sc <- D(trig.exp, "x")
|
|
239
|
+
dxy <- deriv(trig.exp, c("x", "y"))
|
|
240
|
+
y <- 1
|
|
241
|
+
stopifnot(eval(D.sc) ==
|
|
242
|
+
attr(eval(dxy),"gradient")[,"x"])
|
|
243
|
+
ff <- y ~ sin(cos(x) * y)
|
|
244
|
+
stopifnot(all.equal(deriv(ff, c("x","y"), func = TRUE ),
|
|
245
|
+
deriv(ff, c("x","y"), func = function(x,y){ } )))
|
|
246
|
+
## end of moved from deriv.Rd
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
## diff
|
|
250
|
+
x <- cumsum(cumsum(1:10))
|
|
251
|
+
stopifnot(diff(x, lag = 2) == x[(1+2):10] - x[1:(10 - 2)],
|
|
252
|
+
diff(x, lag = 2) == (3:10)^2,
|
|
253
|
+
diff(diff(x)) == diff(x, differences = 2))
|
|
254
|
+
## end of moved from diff.Rd
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
## duplicated
|
|
258
|
+
x <- c(9:20, 1:5, 3:7, 0:8)
|
|
259
|
+
## extract unique elements
|
|
260
|
+
(xu <- x[!duplicated(x)])
|
|
261
|
+
stopifnot(xu == unique(x), # but unique(x) is more efficient
|
|
262
|
+
0:20 == sort(x[!duplicated(x)]))
|
|
263
|
+
|
|
264
|
+
stopifnot(duplicated(iris)[143] == TRUE)
|
|
265
|
+
## end of moved from duplicated.Rd
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
## eigen
|
|
269
|
+
set.seed(321, kind = "default") # force a particular seed
|
|
270
|
+
m <- matrix(round(rnorm(25),3), 5,5)
|
|
271
|
+
sm <- m + t(m) #- symmetric matrix
|
|
272
|
+
em <- eigen(sm); V <- em$vect
|
|
273
|
+
print(lam <- em$values) # ordered DEcreasingly
|
|
274
|
+
|
|
275
|
+
stopifnot(
|
|
276
|
+
abs(sm %*% V - V %*% diag(lam)) < 60*Meps,
|
|
277
|
+
abs(sm - V %*% diag(lam) %*% t(V)) < 60*Meps)
|
|
278
|
+
|
|
279
|
+
##------- Symmetric = FALSE: -- different to above : ---
|
|
280
|
+
|
|
281
|
+
em <- eigen(sm, symmetric = FALSE); V2 <- em$vect
|
|
282
|
+
print(lam2 <- em$values) # ordered decreasingly in ABSolute value !
|
|
283
|
+
print(i <- rev(order(lam2)))
|
|
284
|
+
stopifnot(abs(lam - lam2[i]) < 100 * Meps) # comparing two solns
|
|
285
|
+
|
|
286
|
+
zapsmall(Diag <- t(V2) %*% V2)
|
|
287
|
+
stopifnot( abs(1- diag(Diag)) < 60*Meps)
|
|
288
|
+
|
|
289
|
+
stopifnot(abs(sm %*% V2 - V2 %*% diag(lam2)) < 60*Meps,
|
|
290
|
+
abs(sm - V2 %*% diag(lam2) %*% t(V2)) < 60*Meps)
|
|
291
|
+
|
|
292
|
+
## Re-ordered as with symmetric:
|
|
293
|
+
sV <- V2[,i]
|
|
294
|
+
slam <- lam2[i]
|
|
295
|
+
stopifnot(abs(sm %*% sV - sV %*% diag(slam)) < 60*Meps)
|
|
296
|
+
stopifnot(abs(sm - sV %*% diag(slam) %*% t(sV)) < 60*Meps)
|
|
297
|
+
## sV *is* now equal to V -- up to sign (+-) and rounding errors
|
|
298
|
+
stopifnot(abs(c(1 - abs(sV / V))) < 1000*Meps)
|
|
299
|
+
## end of moved from eigen.Rd
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
## euro
|
|
303
|
+
stopifnot(euro == signif(euro,6), euro.cross == outer(1/euro, euro))
|
|
304
|
+
## end of moved from euro.Rd
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
## Exponential
|
|
308
|
+
r <- rexp(100)
|
|
309
|
+
stopifnot(abs(1 - dexp(1, r) / (r*exp(-r))) < 1e-14)
|
|
310
|
+
## end of moved from Exponential.Rd
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
## family
|
|
314
|
+
gf <- Gamma()
|
|
315
|
+
stopifnot(1:10 == gf$linkfun(gf$linkinv(1:10)))
|
|
316
|
+
## end of moved from family.Rd
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
## fft
|
|
320
|
+
set.seed(123)
|
|
321
|
+
eps <- 1e-10 # typically see around 1e-11
|
|
322
|
+
for(N in 1:130) {
|
|
323
|
+
x <- rnorm(N)
|
|
324
|
+
if(N %% 5 == 0) {
|
|
325
|
+
m5 <- matrix(x,ncol=5)
|
|
326
|
+
stopifnot(apply(m5,2,fft) == mvfft(m5))
|
|
327
|
+
}
|
|
328
|
+
dd <- Mod(1 - (f2 <- fft(fft(x), inverse=TRUE)/(x*length(x))))
|
|
329
|
+
stopifnot(dd < eps)
|
|
330
|
+
}
|
|
331
|
+
## end of moved from fft.Rd
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
## findint
|
|
335
|
+
N <- 100
|
|
336
|
+
X <- sort(round(rt(N, df=2), 2))
|
|
337
|
+
tt <- c(-100, seq(-2,2, len=201), +100)
|
|
338
|
+
it <- findInterval(tt, X)
|
|
339
|
+
|
|
340
|
+
## See that this is N * Fn(.) :
|
|
341
|
+
tt <- c(tt,X)
|
|
342
|
+
stopifnot(it[c(1,203)] == c(0, 100),
|
|
343
|
+
all.equal(N * stats::ecdf(X)(tt),
|
|
344
|
+
findInterval(tt, X), tol = 100 * Meps),
|
|
345
|
+
findInterval(tt,X) == apply( outer(tt, X, ">="), 1, sum)
|
|
346
|
+
)
|
|
347
|
+
## end of moved from findint.Rd
|
|
348
|
+
## NA & Inf's :
|
|
349
|
+
tt[ina <- c(2,3,5,7)] <- NA
|
|
350
|
+
tt[300] <- Inf
|
|
351
|
+
X <- c(-Inf, X, Inf)
|
|
352
|
+
it <- findInterval(tt,X)
|
|
353
|
+
stopifnot(identical(it, as.integer(rowSums(outer(tt, X, ">=")))),
|
|
354
|
+
is.na(it[ina]))
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
if (have_cat) {
|
|
358
|
+
## fix
|
|
359
|
+
oo <- options(editor="cat") # not really changing anything
|
|
360
|
+
fix(pi)
|
|
361
|
+
if(!is.numeric(pi) || length(pi)!=1 ||
|
|
362
|
+
!is.null(attributes(pi)) || abs(pi - 3.1415) > 1e-4)
|
|
363
|
+
stop("OOPS: fix() is broken ...")
|
|
364
|
+
rm(pi); options(oo)
|
|
365
|
+
## end of moved from fix.Rd
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
## format
|
|
370
|
+
(dd <- sapply(1:10, function(i)paste((9:0)[1:i],collapse="")))
|
|
371
|
+
np <- nchar(pd <- prettyNum(dd, big.mark="'"))
|
|
372
|
+
stopifnot(sapply(0:2, function(m)
|
|
373
|
+
all(grep("'", substr(pd, 1, np - 4*m)) == (4+3*m):10)))
|
|
374
|
+
## end of moved from format.Rd
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
## Geometric
|
|
378
|
+
pp <- sort(c((1:9)/10, 1 - .2^(2:8)))
|
|
379
|
+
print(qg <- qgeom(pp, prob = .2))
|
|
380
|
+
## test that qgeom is an inverse of pgeom
|
|
381
|
+
print(qg1 <- qgeom(pgeom(qg, prob=.2), prob =.2))
|
|
382
|
+
stopifnot(identical(qg, qg1))
|
|
383
|
+
## moved from Geometric.Rd
|
|
384
|
+
|
|
385
|
+
|
|
386
|
+
## glm
|
|
387
|
+
## these are the same -- example from Jim Lindsey
|
|
388
|
+
y <- rnorm(20)
|
|
389
|
+
y1 <- y[-1]; y2 <- y[-20]
|
|
390
|
+
summary(g1 <- glm(y1 - y2 ~ 1))
|
|
391
|
+
summary(g2 <- glm(y1 ~ offset(y2)))
|
|
392
|
+
Eq <- function(x,y) all.equal(x,y, tol = 1e-12)
|
|
393
|
+
stopifnot(Eq(coef(g1), coef(g2)),
|
|
394
|
+
Eq(deviance(g1), deviance(g2)),
|
|
395
|
+
Eq(resid(g1), resid(g2)))
|
|
396
|
+
## from logLik.glm.Rd
|
|
397
|
+
anorexia <-
|
|
398
|
+
structure(list(Treat = factor(c(2L, 2L, 2L, 2L, 2L, 2L, 2L,
|
|
399
|
+
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
|
|
400
|
+
2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
|
|
401
|
+
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
|
|
402
|
+
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
|
|
403
|
+
3L), labels = c("CBT", "Cont", "FT")), Prewt = c(80.7,
|
|
404
|
+
89.4, 91.8, 74, 78.1, 88.3, 87.3, 75.1, 80.6, 78.4, 77.6, 88.7,
|
|
405
|
+
81.3, 78.1, 70.5, 77.3, 85.2, 86, 84.1, 79.7, 85.5, 84.4, 79.6,
|
|
406
|
+
77.5, 72.3, 89, 80.5, 84.9, 81.5, 82.6, 79.9, 88.7, 94.9, 76.3,
|
|
407
|
+
81, 80.5, 85, 89.2, 81.3, 76.5, 70, 80.4, 83.3, 83, 87.7, 84.2,
|
|
408
|
+
86.4, 76.5, 80.2, 87.8, 83.3, 79.7, 84.5, 80.8, 87.4, 83.8, 83.3,
|
|
409
|
+
86, 82.5, 86.7, 79.6, 76.9, 94.2, 73.4, 80.5, 81.6, 82.1, 77.6,
|
|
410
|
+
83.5, 89.9, 86, 87.3), Postwt = c(80.2, 80.1, 86.4, 86.3, 76.1,
|
|
411
|
+
78.1, 75.1, 86.7, 73.5, 84.6, 77.4, 79.5, 89.6, 81.4, 81.8, 77.3,
|
|
412
|
+
84.2, 75.4, 79.5, 73, 88.3, 84.7, 81.4, 81.2, 88.2, 78.8, 82.2,
|
|
413
|
+
85.6, 81.4, 81.9, 76.4, 103.6, 98.4, 93.4, 73.4, 82.1, 96.7,
|
|
414
|
+
95.3, 82.4, 72.5, 90.9, 71.3, 85.4, 81.6, 89.1, 83.9, 82.7, 75.7,
|
|
415
|
+
82.6, 100.4, 85.2, 83.6, 84.6, 96.2, 86.7, 95.2, 94.3, 91.5,
|
|
416
|
+
91.9, 100.3, 76.7, 76.8, 101.6, 94.9, 75.2, 77.8, 95.5, 90.7,
|
|
417
|
+
92.5, 93.8, 91.7, 98)), names = c("Treat", "Prewt", "Postwt"
|
|
418
|
+
), class = "data.frame", row.names = 1:72)
|
|
419
|
+
anorex.1 <- glm(Postwt ~ Prewt + Treat + offset(Prewt),
|
|
420
|
+
family = gaussian, data = anorexia)
|
|
421
|
+
summary(anorex.1)
|
|
422
|
+
Eq <- function(x,y) all.equal(x,y, tol = 1e-12)
|
|
423
|
+
stopifnot(Eq(AIC(anorex.1), anorex.1$aic),
|
|
424
|
+
Eq(AIC(g1), g1$aic),
|
|
425
|
+
Eq(AIC(g2), g2$aic))
|
|
426
|
+
## next was wrong in 1.4.1
|
|
427
|
+
x <- 1:10
|
|
428
|
+
lmx <- logLik(lm(x ~ 1)); glmx <- logLik(glm(x ~ 1))
|
|
429
|
+
stopifnot(all.equal(as.vector(lmx), as.vector(glmx)),
|
|
430
|
+
all.equal(attr(lmx, 'df'), attr(glmx, 'df')))
|
|
431
|
+
## end of moved from glm.Rd and logLik.glm.Rd
|
|
432
|
+
|
|
433
|
+
|
|
434
|
+
## Hyperbolic
|
|
435
|
+
x <- seq(-3, 3, len=200)
|
|
436
|
+
stopifnot(
|
|
437
|
+
abs(cosh(x) - (exp(x) + exp(-x))/2) < 20*Meps,
|
|
438
|
+
abs(sinh(x) - (exp(x) - exp(-x))/2) < 20*Meps,
|
|
439
|
+
abs(tanh(x)*cosh(x) - sinh(x)) < 20*Meps
|
|
440
|
+
)
|
|
441
|
+
|
|
442
|
+
stopifnot(abs(asinh(sinh(x)) - x) < 20*Meps)
|
|
443
|
+
stopifnot(abs(acosh(cosh(x)) - abs(x)) < 1000*Meps) #- imprecise for small x
|
|
444
|
+
stopifnot(abs(atanh(tanh(x)) - x) < 100*Meps)
|
|
445
|
+
|
|
446
|
+
stopifnot(abs(asinh(x) - log(x + sqrt(x^2 + 1))) < 100*Meps)
|
|
447
|
+
cx <- cosh(x)
|
|
448
|
+
stopifnot(abs(acosh(cx) - log(cx + sqrt(cx^2 - 1))) < 1000*Meps)
|
|
449
|
+
## end of moved from Hyperbolic.Rd
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
## image
|
|
453
|
+
## Degenerate, should still work
|
|
454
|
+
image(as.matrix(1))
|
|
455
|
+
image(matrix(pi,2,4))
|
|
456
|
+
x <- seq(0,1,len=100)
|
|
457
|
+
image(x, 1, matrix(x), col=heat.colors(10))
|
|
458
|
+
image(x, 1, matrix(x), col=heat.colors(10), oldstyle = TRUE)
|
|
459
|
+
image(x, 1, matrix(x), col=heat.colors(10), breaks = seq(0.1,1.1,len=11))
|
|
460
|
+
## end of moved from image.Rd
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
## integrate
|
|
464
|
+
(ii <- integrate(dnorm, -1.96, 1.96))
|
|
465
|
+
(i1 <- integrate(dnorm, -Inf, Inf))
|
|
466
|
+
stopifnot(all.equal(0.9500042097, ii$val, tol = ii$abs.err, scale=1),
|
|
467
|
+
all.equal( 1, i1$val, tol = i1$abs.err, scale=1))
|
|
468
|
+
|
|
469
|
+
integrand <- function(x) {1/((x+1)*sqrt(x))}
|
|
470
|
+
(ii <- integrate(integrand, lower = 0, upper = Inf, rel.tol = 1e-10))
|
|
471
|
+
stopifnot(all.equal(pi, ii$val, tol = ii$abs.err, scale=1))
|
|
472
|
+
## end of moved from integrate.Rd
|
|
473
|
+
|
|
474
|
+
|
|
475
|
+
## is.finite
|
|
476
|
+
( weird.values <- c(-20.9/0, 1/0, 0/0, NA) )
|
|
477
|
+
|
|
478
|
+
Mmax <- .Machine$double.xmax
|
|
479
|
+
Mmin <- .Machine$double.xmin
|
|
480
|
+
( X.val <- c(Mmin*c(2^(-10:3),1e5,1e10),
|
|
481
|
+
Mmax*c(1e-10,1e-5,2^(-3:0),1.001)) )
|
|
482
|
+
( tst.val <- sort(c(X.val, weird.values), na.last = TRUE) )
|
|
483
|
+
( x2 <- c(-1:1/0,pi,1,NA) )
|
|
484
|
+
( z2 <- c(x2, 1+1i, Inf -Inf* 1i) )
|
|
485
|
+
|
|
486
|
+
is.inf <-
|
|
487
|
+
function(x) (is.numeric(x) || is.complex(x)) && !is.na(x) && !is.finite(x)
|
|
488
|
+
|
|
489
|
+
for(x in list(tst.val, x2, z2))
|
|
490
|
+
print(cbind(format(x), is.infinite=format(is.infinite(x))), quote=FALSE)
|
|
491
|
+
|
|
492
|
+
rbind(is.nan(tst.val),
|
|
493
|
+
is.na (tst.val))
|
|
494
|
+
tst.val [ is.nan(tst.val) != is.na(tst.val) ]
|
|
495
|
+
|
|
496
|
+
stopifnot(
|
|
497
|
+
is.na(0/0),
|
|
498
|
+
!is.na(Inf),
|
|
499
|
+
is.nan(0/0),
|
|
500
|
+
|
|
501
|
+
!is.nan(NA) && !is.infinite(NA) && !is.finite(NA),
|
|
502
|
+
is.nan(NaN) && !is.infinite(NaN) && !is.finite(NaN),
|
|
503
|
+
!is.nan(c(1,NA)),
|
|
504
|
+
c(FALSE,TRUE,FALSE) == is.nan(c (1,NaN,NA))
|
|
505
|
+
)
|
|
506
|
+
assertError(is.nan(list(1,NaN,NA))) #-> result allowed but varies in older versions
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
stopifnot(identical(lgamma(Inf), Inf))
|
|
510
|
+
stopifnot(identical(Inf + Inf, Inf))
|
|
511
|
+
stopifnot(identical(Inf - Inf, NaN))
|
|
512
|
+
stopifnot(identical((1/0) * (1/0), Inf))
|
|
513
|
+
stopifnot(identical((1/0) / (1/0), NaN))
|
|
514
|
+
stopifnot(identical(exp(-Inf), 0))
|
|
515
|
+
stopifnot(identical(log(0), -Inf))
|
|
516
|
+
stopifnot(identical((-1)/0, -Inf))
|
|
517
|
+
pm <- c(-1,1) # 'pm' = plus/minus
|
|
518
|
+
stopifnot(atan(Inf*pm) == pm*pi/2)
|
|
519
|
+
## end of moved from is.finite.Rd
|
|
520
|
+
|
|
521
|
+
|
|
522
|
+
## kronecker
|
|
523
|
+
( M <- matrix(1:6, ncol=2) )
|
|
524
|
+
stopifnot(kronecker(4, M)==4 * M)
|
|
525
|
+
# Block diagonal matrix:
|
|
526
|
+
stopifnot(kronecker(diag(1, 3), M) == diag(1, 3) %x% M)
|
|
527
|
+
## end of moved from kronecker.Rd
|
|
528
|
+
|
|
529
|
+
|
|
530
|
+
## list
|
|
531
|
+
str(pl <- as.pairlist(ps.options()))
|
|
532
|
+
|
|
533
|
+
## These are all TRUE:
|
|
534
|
+
stopifnot(is.list(pl) && is.pairlist(pl),
|
|
535
|
+
!is.null(list()),
|
|
536
|
+
is.null(pairlist()),
|
|
537
|
+
!is.list(NULL),
|
|
538
|
+
is.pairlist(pairlist()),
|
|
539
|
+
is.null(as.pairlist(list())),
|
|
540
|
+
is.null(as.pairlist(NULL))
|
|
541
|
+
)
|
|
542
|
+
## end of moved from list.Rd
|
|
543
|
+
|
|
544
|
+
|
|
545
|
+
## log
|
|
546
|
+
stopifnot(all.equal(log(1:10), log(1:10, exp(1))))
|
|
547
|
+
stopifnot(all.equal(log10(30), log(30, 10)))
|
|
548
|
+
stopifnot(all.equal(log2(2^pi), 2^log2(pi)))
|
|
549
|
+
stopifnot(Mod(pi - log(exp(pi*1i)) / 1i) < 10* Meps)
|
|
550
|
+
stopifnot(Mod(1+exp(pi*1i)) < 10* Meps)
|
|
551
|
+
## end of moved from Log.Rd
|
|
552
|
+
|
|
553
|
+
|
|
554
|
+
## logistic
|
|
555
|
+
eps <- 100 * Meps
|
|
556
|
+
x <- c(0:4, rlogis(100))
|
|
557
|
+
stopifnot(all.equal(plogis(x), 1 / (1 + exp(-x)), tol = eps))
|
|
558
|
+
stopifnot(all.equal(plogis(x, lower=FALSE), exp(-x)/ (1 + exp(-x)), tol = eps))
|
|
559
|
+
stopifnot(all.equal(plogis(x, lower=FALSE, log=TRUE), -log(1 + exp(x)),
|
|
560
|
+
tol = eps))
|
|
561
|
+
stopifnot(all.equal(dlogis(x), exp(x) * (1 + exp(x))^-2, tol = eps))
|
|
562
|
+
## end of moved from Logistic.Rd
|
|
563
|
+
|
|
564
|
+
|
|
565
|
+
## Lognormal
|
|
566
|
+
x <- rlnorm(1000) # not yet always :
|
|
567
|
+
stopifnot(abs(x - qlnorm(plnorm(x))) < 1e4 * Meps * x)
|
|
568
|
+
## end of moved from Lognormal.Rd
|
|
569
|
+
|
|
570
|
+
|
|
571
|
+
## lower.tri
|
|
572
|
+
ma <- matrix(1:20, 4, 5)
|
|
573
|
+
stopifnot(lower.tri(ma) == !upper.tri(ma, diag=TRUE))
|
|
574
|
+
## end of moved from lower.tri.Rd
|
|
575
|
+
|
|
576
|
+
|
|
577
|
+
## make.names
|
|
578
|
+
stopifnot(make.names(letters) == letters)
|
|
579
|
+
## end of make.names
|
|
580
|
+
|
|
581
|
+
|
|
582
|
+
## mean
|
|
583
|
+
x <- c(0:10, 50)
|
|
584
|
+
stopifnot(all.equal(mean(x, trim = 0.5), median(x)))
|
|
585
|
+
## moved from mean.Rd
|
|
586
|
+
|
|
587
|
+
|
|
588
|
+
## Multinom
|
|
589
|
+
N <- 20
|
|
590
|
+
pr <- c(1,3,6,10) # normalization not necessary for generation
|
|
591
|
+
set.seed(153)
|
|
592
|
+
rr <- rmultinom(5000, N, prob = pr)
|
|
593
|
+
stopifnot(colSums(rr) == N)
|
|
594
|
+
(m <- rowMeans(rr))
|
|
595
|
+
all.equal(m, N * pr/sum(pr)) # rel.error ~0.003
|
|
596
|
+
stopifnot(max(abs(m/(N*pr/sum(pr)) - 1)) < 0.01)
|
|
597
|
+
|
|
598
|
+
(Pr <- dmultinom(c(0,0,3), prob = c(1, 1, 14)))
|
|
599
|
+
stopifnot(all.equal(Pr, dbinom(3, 3, p = 14/16)))
|
|
600
|
+
|
|
601
|
+
X <- t(as.matrix(expand.grid(0:3, 0:3)))
|
|
602
|
+
X <- X[, colSums(X) <= 3]
|
|
603
|
+
X <- rbind(X, 3:3 - colSums(X))
|
|
604
|
+
for(p in list(c(1,2,5), 1:3, 3:1, 2:0, 0:2, c(1,2,1), c(0,0,1))) {
|
|
605
|
+
px <- apply(X, 2, function(x) dmultinom(x, prob = p))
|
|
606
|
+
stopifnot(all.equal(sum(px), 1))
|
|
607
|
+
}
|
|
608
|
+
## end of moved from Multinom.Rd
|
|
609
|
+
|
|
610
|
+
|
|
611
|
+
## Poisson
|
|
612
|
+
dpois(c(0, 1, 0.17, 0.77), 1)
|
|
613
|
+
## end of moved from Poisson.Rd
|
|
614
|
+
|
|
615
|
+
|
|
616
|
+
## qr
|
|
617
|
+
## tests of complex case
|
|
618
|
+
set.seed(1)
|
|
619
|
+
A <- matrix(rnorm(25), 5, 5, dimnames=list(1:5, letters[1:5]))
|
|
620
|
+
qr.solve(A, 1:5)
|
|
621
|
+
A[] <- as.complex(A)
|
|
622
|
+
qr.coef(qr(A), 1:5)
|
|
623
|
+
qr.solve(A, 1:5)
|
|
624
|
+
|
|
625
|
+
## check for rank-deficient cases
|
|
626
|
+
X <- cbind(1:3, 1:3, 1)
|
|
627
|
+
stopifnot(all.equal(qr.X(qr(X)), X))
|
|
628
|
+
## end of moved from qr.Rd
|
|
629
|
+
|
|
630
|
+
|
|
631
|
+
## qraux
|
|
632
|
+
p <- ncol(x <- LifeCycleSavings[,-1]) # not the `sr'
|
|
633
|
+
qrstr <- qr(x) # dim(x) == c(n,p)
|
|
634
|
+
Q <- qr.Q(qrstr) # dim(Q) == dim(x)
|
|
635
|
+
R <- qr.R(qrstr) # dim(R) == ncol(x)
|
|
636
|
+
X <- qr.X(qrstr) # X == x
|
|
637
|
+
stopifnot(all.equal(X, as.matrix(x)))
|
|
638
|
+
|
|
639
|
+
## X == Q %*% R :
|
|
640
|
+
stopifnot((1 - X /( Q %*% R))< 100*Meps)
|
|
641
|
+
|
|
642
|
+
dim(Qc <- qr.Q(qrstr, complete=TRUE)) # Square: dim(Qc) == rep(nrow(x),2)
|
|
643
|
+
stopifnot((crossprod(Qc) - diag(nrow(x))) < 10*Meps)
|
|
644
|
+
|
|
645
|
+
QD <- qr.Q(qrstr, D=1:p) # QD == Q \%*\% diag(1:p)
|
|
646
|
+
stopifnot(QD - Q %*% diag(1:p) < 8* Meps)
|
|
647
|
+
|
|
648
|
+
dim(Rc <- qr.R(qrstr, complete=TRUE)) # == dim(x)
|
|
649
|
+
dim(Xc <- qr.X(qrstr, complete=TRUE)) # square: nrow(x) ^ 2
|
|
650
|
+
dimnames(X) <- NULL
|
|
651
|
+
stopifnot(all.equal(Xc[,1:p], X))
|
|
652
|
+
## end of moved from qraux.Rd
|
|
653
|
+
|
|
654
|
+
|
|
655
|
+
## quantile
|
|
656
|
+
x <- rnorm(1001)
|
|
657
|
+
n <- length(x) ## the following is exact, because 1/(1001-1) is exact:
|
|
658
|
+
stopifnot(sort(x) == quantile(x, probs = ((1:n)-1)/(n-1), names=FALSE))
|
|
659
|
+
|
|
660
|
+
n <- 777
|
|
661
|
+
ox <- sort(x <- round(rnorm(n),1))# round() produces ties
|
|
662
|
+
ox <- c(ox, ox[n]) #- such that ox[n+1] := ox[n]
|
|
663
|
+
p <- c(0,1,runif(100))
|
|
664
|
+
i <- floor(r <- 1 + (n-1)*p)
|
|
665
|
+
f <- r - i
|
|
666
|
+
stopifnot(abs(quantile(x,p) - ((1-f)*ox[i] + f*ox[i+1])) < 20*Meps)
|
|
667
|
+
## end of moved from quantile.Rd
|
|
668
|
+
|
|
669
|
+
|
|
670
|
+
## rep
|
|
671
|
+
stopifnot(identical(rep(letters, 0), character(0)),
|
|
672
|
+
identical(rep.int(1:2, 0), integer(0)))
|
|
673
|
+
|
|
674
|
+
stopifnot(sum(1:8) == length(rep(1:4, 1:8, each=2)))
|
|
675
|
+
## end of moved from rep.Rd
|
|
676
|
+
|
|
677
|
+
|
|
678
|
+
## Round
|
|
679
|
+
x1 <- seq(-2, 4, by = .5)
|
|
680
|
+
non.int <- ceiling(x1) != floor(x1)
|
|
681
|
+
stopifnot(
|
|
682
|
+
trunc(x1) == as.integer(x1),
|
|
683
|
+
non.int == (ceiling(x1) != trunc(x1) | trunc(x1) != floor(x1)),
|
|
684
|
+
(signif(x1, 1) != round(x1,1)) == (non.int & abs(x1) > 1)
|
|
685
|
+
)
|
|
686
|
+
## end of moved from Round.Rd
|
|
687
|
+
|
|
688
|
+
|
|
689
|
+
## seq
|
|
690
|
+
stopifnot(
|
|
691
|
+
3 == seq(3,3, by=pi),
|
|
692
|
+
3 == seq(3,3.1,by=pi),
|
|
693
|
+
seq(1,6,by=3) == c(1,4),
|
|
694
|
+
seq(10,4.05,by=-3) == c(10,7)
|
|
695
|
+
)
|
|
696
|
+
## end of moved from seq.Rd
|
|
697
|
+
|
|
698
|
+
|
|
699
|
+
## sort
|
|
700
|
+
x <- swiss$Education[1:25]
|
|
701
|
+
stopifnot(!is.unsorted(sort(x)),
|
|
702
|
+
!is.unsorted(LETTERS),
|
|
703
|
+
is.unsorted(c(NA,1:3,2), na.rm = TRUE))
|
|
704
|
+
|
|
705
|
+
for(n in 1:20) {
|
|
706
|
+
z <- rnorm(n)
|
|
707
|
+
for(x in list(z, round(z,1))) { ## 2nd one has ties
|
|
708
|
+
qxi <- sort(x, method = "quick", index.return = TRUE)
|
|
709
|
+
stopifnot(qxi$x == sort(x, method = "shell"),
|
|
710
|
+
any(duplicated(x)) || all(qxi$ix == order(x)),
|
|
711
|
+
x[qxi$ix] == qxi$x)
|
|
712
|
+
}
|
|
713
|
+
}
|
|
714
|
+
## end of moved from sort.Rd
|
|
715
|
+
|
|
716
|
+
|
|
717
|
+
## substr
|
|
718
|
+
ss <- substring("abcdef",1:6,1:6)
|
|
719
|
+
stopifnot(ss == strsplit ("abcdef",NULL)[[1]])
|
|
720
|
+
x <- c("asfef", "qwerty", "yuiop[", "b", "stuff.blah.yech")
|
|
721
|
+
stopifnot(substr(x, 2, 5) == substring(x, 2, 5))
|
|
722
|
+
## end of moved from substr.Rd
|
|
723
|
+
|
|
724
|
+
|
|
725
|
+
## svd
|
|
726
|
+
hilbert <- function(n) { i <- 1:n; 1 / outer(i - 1, i, "+") }
|
|
727
|
+
str(X <- hilbert(9)[,1:6])
|
|
728
|
+
str(s <- svd(X))
|
|
729
|
+
Eps <- 100 * Meps
|
|
730
|
+
|
|
731
|
+
D <- diag(s$d)
|
|
732
|
+
stopifnot(abs(X - s$u %*% D %*% t(s$v)) < Eps)# X = U D V'
|
|
733
|
+
stopifnot(abs(D - t(s$u) %*% X %*% s$v) < Eps)# D = U' X V
|
|
734
|
+
|
|
735
|
+
X <- cbind(1, 1:7)
|
|
736
|
+
str(s <- svd(X)); D <- diag(s$d)
|
|
737
|
+
stopifnot(abs(X - s$u %*% D %*% t(s$v)) < Eps)# X = U D V'
|
|
738
|
+
stopifnot(abs(D - t(s$u) %*% X %*% s$v) < Eps)# D = U' X V
|
|
739
|
+
## end of moved from svd.Rd
|
|
740
|
+
|
|
741
|
+
|
|
742
|
+
## Trig
|
|
743
|
+
## many of these tested for machine accuracy, which seems a bit extreme
|
|
744
|
+
set.seed(123)
|
|
745
|
+
stopifnot(cos(0) == 1)
|
|
746
|
+
stopifnot(sin(3*pi/2) == cos(pi))
|
|
747
|
+
x <- rnorm(99)
|
|
748
|
+
stopifnot(all.equal( sin(-x), - sin(x)))
|
|
749
|
+
stopifnot(all.equal( cos(-x), cos(x)))
|
|
750
|
+
x <- abs(x); y <- abs(rnorm(x))
|
|
751
|
+
stopifnot(abs(atan2(y, x) - atan(y/x)) < 10 * Meps)
|
|
752
|
+
stopifnot(abs(atan2(y, x) - atan(y/x)) < 10 * Meps)
|
|
753
|
+
|
|
754
|
+
x <- 1:99/100
|
|
755
|
+
stopifnot(Mod(1 - (cos(x) + 1i*sin(x)) / exp(1i*x)) < 10 * Meps)
|
|
756
|
+
## error is about 650* at x=0.01:
|
|
757
|
+
stopifnot(abs(1 - x / acos(cos(x))) < 1000 * Meps)
|
|
758
|
+
stopifnot(abs(1 - x / asin(sin(x))) <= 10 * Meps)
|
|
759
|
+
stopifnot(abs(1 - x / atan(tan(x))) <= 10 *Meps)
|
|
760
|
+
## end of moved from Trig.Rd
|
|
761
|
+
|
|
762
|
+
## Uniform
|
|
763
|
+
u <- runif(20)
|
|
764
|
+
stopifnot(punif(u) == u, dunif(u) == 1,
|
|
765
|
+
runif(100, 2,2) == 2)#-> TRUE [bug in R version <= 0.63.1]
|
|
766
|
+
## end of moved from Uniform.Rd
|
|
767
|
+
|
|
768
|
+
|
|
769
|
+
## unique
|
|
770
|
+
my.unique <- function(x) x[!duplicated(x)]
|
|
771
|
+
for(i in 1:4)
|
|
772
|
+
{ x <- rpois(100, pi); stopifnot(unique(x) == my.unique(x)) }
|
|
773
|
+
|
|
774
|
+
unique(iris)
|
|
775
|
+
stopifnot(dim(unique(iris)) == c(149, 5))
|
|
776
|
+
## end of moved from unique.Rd
|
|
777
|
+
|
|
778
|
+
|
|
779
|
+
## which.min
|
|
780
|
+
stopifnot(length(which.min(numeric(0))) == 0)
|
|
781
|
+
stopifnot(length(which.max( c(NA,NA) )) == 0)
|
|
782
|
+
## end of moved from which.min.Rd
|
|
783
|
+
|
|
784
|
+
|
|
785
|
+
## Wilcoxon
|
|
786
|
+
x <- -1:(4*6 + 1)
|
|
787
|
+
fx <- dwilcox(x, 4, 6)
|
|
788
|
+
stopifnot(fx == dwilcox(x, 6, 4))
|
|
789
|
+
Fx <- pwilcox(x, 4, 6)
|
|
790
|
+
stopifnot(abs(Fx - cumsum(fx)) < 10 * Meps)
|
|
791
|
+
## end of moved from Wilcoxon.Rd
|
|
792
|
+
|
|
793
|
+
|
|
794
|
+
## All the following relations must hold :
|
|
795
|
+
stopifnot(
|
|
796
|
+
1 + Meps != 1,
|
|
797
|
+
1 + .5* Meps == 1,
|
|
798
|
+
log2(.Machine$double.xmax) == .Machine$double.max.exp,
|
|
799
|
+
log2(.Machine$double.xmin) == .Machine$double.min.exp
|
|
800
|
+
)
|
|
801
|
+
# This test failed on HP-UX since pow(2,1024) returns DBL_MAX and sets
|
|
802
|
+
# errno = ERANGE. Most other systems return Inf and set errno
|
|
803
|
+
stopifnot(is.infinite(.Machine$double.base ^ .Machine$double.max.exp))
|
|
804
|
+
## end of moved from zMachine.Rd
|
|
805
|
+
|
|
806
|
+
|
|
807
|
+
## PR 640 (diff.default computes an incorrect starting time)
|
|
808
|
+
## By: Laimonis Kavalieris <lkavalieris@maths.otago.ac.nz>
|
|
809
|
+
y <- ts(rnorm(24), freq=12)
|
|
810
|
+
x <- ts(rnorm(24), freq=12)
|
|
811
|
+
arima0(y, xreg = x, seasonal = list(order=c(0,1,0)))
|
|
812
|
+
## Comments:
|
|
813
|
+
|
|
814
|
+
|
|
815
|
+
## PR 644 (crash using fisher.test on Windows)
|
|
816
|
+
## By: Uwe Ligges <ligges@statistik.uni-dortmund.de>
|
|
817
|
+
x <- matrix(c(2, 2, 4, 8, 6, 0, 1, 1, 7, 8, 1, 3, 1, 3, 7, 4, 2, 2, 2,
|
|
818
|
+
1, 1, 0, 0, 0, 0, 0, 1, 1, 2, 0, 1, 1, 0, 2, 1, 0, 0, 0),
|
|
819
|
+
nc = 2)
|
|
820
|
+
fisher.test(x)
|
|
821
|
+
## Comments: (wasn't just on Windows)
|
|
822
|
+
|
|
823
|
+
## PR 653 (extrapolation in spline)
|
|
824
|
+
## By: Ian White <imsw@holyrood.ed.ac.uk>
|
|
825
|
+
x <- c(2,5,8,10)
|
|
826
|
+
y <- c(1.2266,-1.7606,-0.5051,1.0390)
|
|
827
|
+
fn <- splinefun(x, y, method="natural")
|
|
828
|
+
xx1 <- fn(0:12)
|
|
829
|
+
# should be the same if reflected
|
|
830
|
+
fn <- splinefun(rev(-x),rev(y),method="natural")
|
|
831
|
+
xx2 <- fn(0:-12)
|
|
832
|
+
stopifnot(all.equal(xx1, xx2))
|
|
833
|
+
# should be the same as interpSpline
|
|
834
|
+
library(splines)
|
|
835
|
+
xx3 <- predict(interpSpline(x, y), 0:12)
|
|
836
|
+
stopifnot(all.equal(xx1, xx3$y))
|
|
837
|
+
unloadNamespace("splines")
|
|
838
|
+
## Comments: all three differed in 1.2.1.
|
|
839
|
+
|
|
840
|
+
|
|
841
|
+
## PR 698 (print problem with data frames)
|
|
842
|
+
## actually, a subsetting problem with data frames
|
|
843
|
+
fred <- data.frame(happy=c(TRUE, FALSE, TRUE), sad=7:9)
|
|
844
|
+
z <- try(tmp <- fred[c(FALSE, FALSE, TRUE, TRUE)])
|
|
845
|
+
stopifnot(class(z) == "try-error")
|
|
846
|
+
## Comments: No error before 1.2.1
|
|
847
|
+
|
|
848
|
+
|
|
849
|
+
## PR 753 (step can't find variables)
|
|
850
|
+
##
|
|
851
|
+
x <- data.frame(a=rnorm(10), b=rnorm(10), c=rnorm(10))
|
|
852
|
+
x0.lm <- lm(a ~ 1, data=x)
|
|
853
|
+
step(x0.lm, ~ b + c)
|
|
854
|
+
## Comments:
|
|
855
|
+
|
|
856
|
+
|
|
857
|
+
## PR 796 (aic in binomial models is often wrong)
|
|
858
|
+
##
|
|
859
|
+
a1 <- glm(cbind(ncases, ncontrols) ~ agegp + tobgp * alcgp,
|
|
860
|
+
data = esoph, family = binomial())$aic
|
|
861
|
+
a1
|
|
862
|
+
a2 <- glm(ncases/(ncases+ncontrols) ~ agegp + tobgp * alcgp,
|
|
863
|
+
data = esoph, family = binomial(), weights=ncases+ncontrols)$aic
|
|
864
|
+
a2
|
|
865
|
+
stopifnot(all.equal(a1, a2))
|
|
866
|
+
## Comments:
|
|
867
|
+
# both should be 236.9645
|
|
868
|
+
# changed to use all.equal rather than == in 2.1.0 -pd
|
|
869
|
+
|
|
870
|
+
## Follow up: example from Lindsey, purportedly of inaccuracy in aic
|
|
871
|
+
y <- matrix(c(2, 0, 7, 3, 0, 9), ncol=2)
|
|
872
|
+
x <- gl(3, 1)
|
|
873
|
+
a <- glm(y ~ x, family=binomial)$aic
|
|
874
|
+
stopifnot(is.finite(a))
|
|
875
|
+
## Comments: gave NaN prior to 1.2.1
|
|
876
|
+
|
|
877
|
+
|
|
878
|
+
## PR 802 (crash with scan(..., what=list(,,)))
|
|
879
|
+
##
|
|
880
|
+
m <- matrix(1:9, 3,3)
|
|
881
|
+
write(m, "test.dat", 3)
|
|
882
|
+
try(scan("test.dat", what=list(,,,)))
|
|
883
|
+
unlink("test.dat")
|
|
884
|
+
## Comments: segfaulted in 1.2.0
|
|
885
|
+
|
|
886
|
+
|
|
887
|
+
## Jonathan Rougier, 2001-01-30 [bug in 1.2.1 and earlier]
|
|
888
|
+
tmp <- array(list(3), c(2, 3))
|
|
889
|
+
tmp[[2, 3]] <- "fred"
|
|
890
|
+
all.equal(t(tmp), aperm(tmp))
|
|
891
|
+
|
|
892
|
+
|
|
893
|
+
## PR 860 (Context problem with ... and rbind) Prof Brian D Ripley, 2001-03-03,
|
|
894
|
+
f <- function(x, ...)
|
|
895
|
+
{
|
|
896
|
+
g <- function(x, ...) x
|
|
897
|
+
rbind(numeric(), g(x, ...))
|
|
898
|
+
}
|
|
899
|
+
f(1:3)
|
|
900
|
+
## Error in 1.2.2
|
|
901
|
+
f <- function(x, ...) h(g(x, ...))
|
|
902
|
+
g <- function(x, ...) x
|
|
903
|
+
h <- function(...)substitute(list(...))
|
|
904
|
+
f(1)
|
|
905
|
+
## Error in 1.2.2
|
|
906
|
+
substitute(list(...))
|
|
907
|
+
## Error in 1.2.2
|
|
908
|
+
|
|
909
|
+
|
|
910
|
+
## Martin Maechler, 2001-03-07 [1.2.2 and in parts earlier]
|
|
911
|
+
tf <- tempfile()
|
|
912
|
+
cat(1:3,"\n", file = tf)
|
|
913
|
+
for(line in list(4:6, "", 7:9)) cat(line,"\n", file = tf, append = TRUE)
|
|
914
|
+
|
|
915
|
+
count.fields(tf) # 3 3 3 : ok {blank line skipped}
|
|
916
|
+
z <- scan(tf, what=rep(list(""),3), nmax = 3)
|
|
917
|
+
stopifnot(sapply(z, length) == 3)
|
|
918
|
+
## FALSE in 1.2.2
|
|
919
|
+
z <- as.data.frame(scan(tf, what=rep(list(""),3), n=9))
|
|
920
|
+
dim(z)
|
|
921
|
+
## should be 3 3. Was 2 3 in 1.2.2.
|
|
922
|
+
read.table(tf)
|
|
923
|
+
## gave error in 1.2.2
|
|
924
|
+
unlink(tf)
|
|
925
|
+
|
|
926
|
+
|
|
927
|
+
## PR 870 (as.numeric and NAs) Harald Fekj�r, 2001-03-08,
|
|
928
|
+
is.na(as.numeric(" "))
|
|
929
|
+
is.na(as.integer(" "))
|
|
930
|
+
is.na(as.complex(" "))
|
|
931
|
+
## all false in 1.2.2
|
|
932
|
+
|
|
933
|
+
|
|
934
|
+
## PR 871 (deparsing of attribute names) Harald Fekj�r, 2001-03-08,
|
|
935
|
+
midl <- 4
|
|
936
|
+
attr(midl,"Object created") <- date()
|
|
937
|
+
deparse(midl)
|
|
938
|
+
dump("midl", "midl.R")
|
|
939
|
+
source("midl.R") ## syntax error in 1.2.2
|
|
940
|
+
unlink("midl.R")
|
|
941
|
+
|
|
942
|
+
|
|
943
|
+
## PR 872 (surprising behavior of match.arg()) Woodrow Setzer, 2001-03-08,
|
|
944
|
+
fun1 <- function(x, A=c("power","constant")) {
|
|
945
|
+
arg <- match.arg(A)
|
|
946
|
+
formals()
|
|
947
|
+
}
|
|
948
|
+
topfun <- function(x, Fun=fun1) {
|
|
949
|
+
a1 <- fun1(x)
|
|
950
|
+
print(a1)
|
|
951
|
+
a2 <- Fun(x,A="power")
|
|
952
|
+
stopifnot(all.equal(a1, a2))
|
|
953
|
+
print(a2)
|
|
954
|
+
}
|
|
955
|
+
topfun(2, fun1)
|
|
956
|
+
## a1 printed without defaults in 1.2.2
|
|
957
|
+
|
|
958
|
+
|
|
959
|
+
## PR 873 (long formulas in terms()) Jerome Asselin, 2001-03-08,
|
|
960
|
+
form <- cbind(log(inflowd1),log(inflowd2),log(inflowd3),
|
|
961
|
+
log(inflowd4),log(inflowd5),log(inflowd6)) ~ precip*I(Tmax^2)
|
|
962
|
+
terms(form) # error in 1.2.2
|
|
963
|
+
|
|
964
|
+
|
|
965
|
+
## PR 881 Incorrect values in non-central chisq values on Linux, 2001-03-21
|
|
966
|
+
x <- dchisq(c(7.1, 7.2, 7.3), df=2, ncp=20)
|
|
967
|
+
stopifnot(diff(x) > 0)
|
|
968
|
+
## on 1.2.2 on RH6.2 i686 Linux x = 0.01140512 0.00804528 0.01210514
|
|
969
|
+
|
|
970
|
+
|
|
971
|
+
## PR 882 eigen segfaults on 0-diml matrices, 2001-03-23
|
|
972
|
+
m <- matrix(1, 0, 0) # 1 to force numeric not logical
|
|
973
|
+
try(eigen(m))
|
|
974
|
+
## segfaults on 1.2.2
|
|
975
|
+
|
|
976
|
+
|
|
977
|
+
## PR 979 expand.model.frame() failed for models fitted with a subset
|
|
978
|
+
df <- data.frame(y = 1:10, z = 1:10, m = 1:10)
|
|
979
|
+
fit <- lm(y ~ 1, data = df, subset = m < 8)
|
|
980
|
+
mf <- expand.model.frame(fit, ~ z) # failed in 1.2.3
|
|
981
|
+
stopifnot(identical(names(mf), c("y", "z")), identical(mf$z, 1:7))
|
|
982
|
+
|
|
983
|
+
|
|
984
|
+
## 1.3.0 had poor compression on gzfile() with lots of small pieces.
|
|
985
|
+
zz <- gzfile("t1.gz", "w")
|
|
986
|
+
write(1:1000, zz)
|
|
987
|
+
close(zz)
|
|
988
|
+
(sz <- file.info("t1.gz")$size)
|
|
989
|
+
unlink("t1.gz")
|
|
990
|
+
stopifnot(sz < 2000)
|
|
991
|
+
|
|
992
|
+
|
|
993
|
+
## PR 1010: plot.mts (type="p") was broken in 1.3.0 and this call failed.
|
|
994
|
+
plot(ts(matrix(runif(10), ncol = 2)), type = "p")
|
|
995
|
+
|
|
996
|
+
|
|
997
|
+
## in 1.3.0 readLines(ok=FALSE) failed.
|
|
998
|
+
cat(file="foo.txt", 1:10, sep="\n")
|
|
999
|
+
x <- try(readLines("foo.txt", 100, ok=FALSE))
|
|
1000
|
+
unlink("foo.txt")
|
|
1001
|
+
stopifnot(length(class(x)) == 1 && class(x) == "try-error")
|
|
1002
|
+
|
|
1003
|
+
|
|
1004
|
+
## PR 1047 [<-data.frame failure, BDR 2001-08-10
|
|
1005
|
+
test <- df <- data.frame(x=1:10, y=11:20, row.names=letters[1:10])
|
|
1006
|
+
test[] <- lapply(df, factor)
|
|
1007
|
+
test
|
|
1008
|
+
## error in 1.3.0 in test[]
|
|
1009
|
+
|
|
1010
|
+
|
|
1011
|
+
## PR 1048 bug in dummy.coef.lm, Adrian Baddeley, 2001-08-10
|
|
1012
|
+
## modified to give a sensible test
|
|
1013
|
+
old <- getOption("contrasts")
|
|
1014
|
+
options(contrasts=c("contr.helmert", "contr.poly"))
|
|
1015
|
+
DF <- data.frame(x=1:20,y=rnorm(20),z=factor(1:20 <= 10))
|
|
1016
|
+
dummy.coef(lm(y ~ z * I(x), data=DF))
|
|
1017
|
+
dummy.coef(lm(y ~ z * poly(x,1), data=DF))
|
|
1018
|
+
## failed in 1.3.0. Second one warns: deficiency of the method.
|
|
1019
|
+
options(contrasts=old)
|
|
1020
|
+
|
|
1021
|
+
|
|
1022
|
+
## PR 1050 error in ksmooth C code + patch, Hsiu-Khuern Tang, 2001-08-12
|
|
1023
|
+
x <- 1:4
|
|
1024
|
+
y <- 1:4
|
|
1025
|
+
z <- ksmooth(x, y, x.points=x)
|
|
1026
|
+
stopifnot(all.equal(z$y, y))
|
|
1027
|
+
## did some smoothing prior to 1.3.1.
|
|
1028
|
+
|
|
1029
|
+
|
|
1030
|
+
## The length of lines read by scan() was limited before 1.4.0
|
|
1031
|
+
xx <- paste(rep(0:9, 2000), collapse="")
|
|
1032
|
+
zz <- file("foo.txt", "w")
|
|
1033
|
+
writeLines(xx, zz)
|
|
1034
|
+
close(zz)
|
|
1035
|
+
xxx <- scan("foo.txt", "", sep="\n")
|
|
1036
|
+
stopifnot(identical(xx, xxx))
|
|
1037
|
+
unlink("foo.txt")
|
|
1038
|
+
|
|
1039
|
+
|
|
1040
|
+
## as.character was truncating formulae: John Fox 2001-08-23
|
|
1041
|
+
mod <- this ~ is + a + very + long + formula + with + a + very + large + number + of + characters
|
|
1042
|
+
zz <- as.character(mod)
|
|
1043
|
+
zz
|
|
1044
|
+
nchar(zz)
|
|
1045
|
+
stopifnot(nchar(zz)[3] == 83)
|
|
1046
|
+
## truncated in 1.3.0
|
|
1047
|
+
|
|
1048
|
+
|
|
1049
|
+
## substr<-, Tom Vogels, 2001-09-07
|
|
1050
|
+
x <- "abcdef"
|
|
1051
|
+
substr(x, 2, 3) <- "wx"
|
|
1052
|
+
stopifnot(x == "awxdef")
|
|
1053
|
+
|
|
1054
|
+
x <- "abcdef"
|
|
1055
|
+
substr(x, 2, 3) <- "wxy"
|
|
1056
|
+
stopifnot(x == "awxdef")
|
|
1057
|
+
|
|
1058
|
+
x <- "abcdef"
|
|
1059
|
+
substr(x, 2, 3) <- "w"
|
|
1060
|
+
stopifnot(x == "awcdef")
|
|
1061
|
+
## last was "aw" in 1.3.1
|
|
1062
|
+
|
|
1063
|
+
|
|
1064
|
+
## reading bytes from a connection, Friedrich Leisch 2001-09-07
|
|
1065
|
+
cat("Hello World", file="world.txt")
|
|
1066
|
+
con <- file("world.txt", "r")
|
|
1067
|
+
zz <- readChar(con, 100)
|
|
1068
|
+
close(con)
|
|
1069
|
+
unlink("world.txt")
|
|
1070
|
+
stopifnot(zz == "Hello World")
|
|
1071
|
+
## was "" in 1.3.1.
|
|
1072
|
+
|
|
1073
|
+
|
|
1074
|
+
## prediction was failing for intercept-only model
|
|
1075
|
+
## as model frame has no columns.
|
|
1076
|
+
d <- data.frame(x=runif(50), y=rnorm(50))
|
|
1077
|
+
d.lm <- lm(y ~ 1, data=d)
|
|
1078
|
+
predict(d.lm, data.frame(x=0.5))
|
|
1079
|
+
## error in 1.3.1
|
|
1080
|
+
|
|
1081
|
+
|
|
1082
|
+
## predict.arima0 needed a matrix newxreg: Roger Koenker, 2001-09-27
|
|
1083
|
+
u <- rnorm(120)
|
|
1084
|
+
s <- 1:120
|
|
1085
|
+
y <- 0.3*s + 5*filter(u, c(.95,-.1), "recursive", init=rnorm(2))
|
|
1086
|
+
fit0 <- arima0(y,order=c(2,0,0), xreg=s)
|
|
1087
|
+
fit1 <- arima0(y,order=c(2,1,0), xreg=s, include.mean=TRUE)
|
|
1088
|
+
fore0 <- predict(fit0 ,n.ahead=44, newxreg=121:164)
|
|
1089
|
+
fore1 <- predict(fit1, n.ahead=44, newxreg=121:164)
|
|
1090
|
+
par(mfrow=c(1,2))
|
|
1091
|
+
ts.plot(y,fore0$pred, fore0$pred+2*fore0$se, fore0$pred-2*fore0$se,
|
|
1092
|
+
gpars=list(lty=c(1,2,3,3)))
|
|
1093
|
+
abline(fit0$coef[3:4], lty=2)
|
|
1094
|
+
ts.plot(y, fore1$pred, fore1$pred+2*fore1$se, fore1$pred-2*fore1$se,
|
|
1095
|
+
gpars=list(lty=c(1,2,3,3)))
|
|
1096
|
+
abline(c(0, fit1$coef[3]), lty=2)
|
|
1097
|
+
|
|
1098
|
+
|
|
1099
|
+
## merging when NA is a level
|
|
1100
|
+
a <- data.frame(x = 1:4)
|
|
1101
|
+
b <- data.frame(x = 1:3, y = factor(c("NA", "a", "b"), exclude=""))
|
|
1102
|
+
(m <- merge(a, b, all.x = TRUE))
|
|
1103
|
+
stopifnot(is.na(m[4, 2]))
|
|
1104
|
+
## was level NA in 1.3.1
|
|
1105
|
+
stopifnot(!is.na(m[1, 2]))
|
|
1106
|
+
|
|
1107
|
+
|
|
1108
|
+
## merging with POSIXct columns:
|
|
1109
|
+
x <- data.frame(a = as.POSIXct(Sys.time() + (1:3)*10000), b = LETTERS[1:3])
|
|
1110
|
+
y <- data.frame(b = LETTERS[3:4], c = 1:2)
|
|
1111
|
+
stopifnot(1 == nrow(merge(x, y)))
|
|
1112
|
+
stopifnot(4 == nrow(merge(x, y, all = TRUE)))
|
|
1113
|
+
|
|
1114
|
+
|
|
1115
|
+
## PR 1149. promax was returning the wrong rotation matrix.
|
|
1116
|
+
ability.FA <- factanal(factors = 2, covmat = ability.cov, rotation = "none")
|
|
1117
|
+
pm <- promax(ability.FA$loadings)
|
|
1118
|
+
tmp1 <- as.vector(ability.FA$loadings %*% pm$rotmat)
|
|
1119
|
+
tmp2 <- as.vector(pm$loadings)
|
|
1120
|
+
stopifnot(all.equal(tmp1, tmp2))
|
|
1121
|
+
|
|
1122
|
+
|
|
1123
|
+
## PR 1155. On some systems strptime was not setting the month or mday
|
|
1124
|
+
## when yday was supplied.
|
|
1125
|
+
bv1 <- data.frame(day=c(346,346,347,347,347), time=c(2340,2350,0,10,20))
|
|
1126
|
+
attach(bv1)
|
|
1127
|
+
tmp <- strptime(paste(day, time %/% 100, time %% 100), "%j %H %M")
|
|
1128
|
+
detach()
|
|
1129
|
+
stopifnot(tmp$mon == 11)
|
|
1130
|
+
# day of month will be different in a leap year on systems that default
|
|
1131
|
+
# to the current year, so test differences:
|
|
1132
|
+
stopifnot(diff(tmp$mday) == c(0, 1, 0, 0))
|
|
1133
|
+
## Comments: failed on glibc-based systems in 1.3.1, including Windows.
|
|
1134
|
+
|
|
1135
|
+
|
|
1136
|
+
## PR 1004 (follow up). Exact Kolmogorov-Smirnov test gave incorrect
|
|
1137
|
+
## results due to rounding errors (Charles Geyer, charlie@stat.umn.edu,
|
|
1138
|
+
## 2001-10-25).
|
|
1139
|
+
## Example 5.4 in Hollander and Wolfe (Nonparametric Statistical
|
|
1140
|
+
## Methods, 2nd ed., Wiley, 1999, pp. 180-181).
|
|
1141
|
+
x <- c(-0.15, 8.6, 5, 3.71, 4.29, 7.74, 2.48, 3.25, -1.15, 8.38)
|
|
1142
|
+
y <- c(2.55, 12.07, 0.46, 0.35, 2.69, -0.94, 1.73, 0.73, -0.35, -0.37)
|
|
1143
|
+
stopifnot(round(ks.test(x, y)$p.value, 4) == 0.0524)
|
|
1144
|
+
|
|
1145
|
+
|
|
1146
|
+
## PR 1150. Wilcoxon rank sum and signed rank tests did not return the
|
|
1147
|
+
## Hodges-Lehmann estimators of the associated confidence interval
|
|
1148
|
+
## (Charles Geyer, charlie@stat.umn.edu, 2001-10-25).
|
|
1149
|
+
## One-sample test: Example 3.1 in Hollander & Wolfe (1973), 29f.
|
|
1150
|
+
x <- c(1.83, 0.50, 1.62, 2.48, 1.68, 1.88, 1.55, 3.06, 1.30)
|
|
1151
|
+
y <- c(0.878, 0.647, 0.598, 2.05, 1.06, 1.29, 1.06, 3.14, 1.29)
|
|
1152
|
+
we <- wilcox.test(y, x, paired = TRUE, conf.int = TRUE)
|
|
1153
|
+
## NOTE order: y then x.
|
|
1154
|
+
## Results from Hollander & Wolfe (1999), 2nd edition, page 40 and 53
|
|
1155
|
+
stopifnot(round(we$p.value,4) == 0.0391)
|
|
1156
|
+
stopifnot(round(we$conf.int,3) == c(-0.786, -0.010))
|
|
1157
|
+
stopifnot(round(we$estimate,3) == -0.46)
|
|
1158
|
+
## Two-sample test: Example 4.1 in Hollander & Wolfe (1973), 69f.
|
|
1159
|
+
x <- c(0.80, 0.83, 1.89, 1.04, 1.45, 1.38, 1.91, 1.64, 0.73, 1.46)
|
|
1160
|
+
y <- c(1.15, 0.88, 0.90, 0.74, 1.21)
|
|
1161
|
+
we <- wilcox.test(y, x, conf.int = TRUE)
|
|
1162
|
+
## NOTE order: y then x.
|
|
1163
|
+
## Results from Hollander & Wolfe (1999), 2nd edition, page 111 and 126
|
|
1164
|
+
stopifnot(round(we$p.value,4) == 0.2544)
|
|
1165
|
+
stopifnot(round(we$conf.int,3) == c(-0.76, 0.15))
|
|
1166
|
+
stopifnot(round(we$estimate,3) == -0.305)
|
|
1167
|
+
|
|
1168
|
+
|
|
1169
|
+
## range gave wrong length result for R < 1.4.0
|
|
1170
|
+
stopifnot(length(range(numeric(0))) == 2)
|
|
1171
|
+
## Comments: was just NA
|
|
1172
|
+
|
|
1173
|
+
|
|
1174
|
+
## mishandling of integer(0) in R < 1.4.0
|
|
1175
|
+
x1 <- integer(0) / (1:3)
|
|
1176
|
+
x2 <- integer(0) ^ (1:3)
|
|
1177
|
+
stopifnot(length(x1) == 0 & length(x2) == 0)
|
|
1178
|
+
## Comments: were integer NAs in real answer in 1.3.1.
|
|
1179
|
+
|
|
1180
|
+
|
|
1181
|
+
## PR#1138/9 rounding could give non-integer answer.
|
|
1182
|
+
x <- round(100000/3, -2) - 33300
|
|
1183
|
+
stopifnot(x == 0)
|
|
1184
|
+
## failed in 1.3.x on Solaris and Windows but not Debian Linux.
|
|
1185
|
+
|
|
1186
|
+
|
|
1187
|
+
## PR#1160 finding midpoints in image <janef@stat.berkeley.edu, 2001-11-06>
|
|
1188
|
+
x2 <- c(0, 0.002242152, 0.004484305, 0.006726457, 0.00896861,
|
|
1189
|
+
0.01121076, 0.01345291, 0.01569507, 0.01793722, 0.02017937,
|
|
1190
|
+
0.02242152, 0.02466368, 0.02690583, 0.02914798, 0.03139013,
|
|
1191
|
+
0.03363229, 0.03587444, 0.03811659, 0.04035874, 0.04932735,
|
|
1192
|
+
0.05156951, 0.05381166)
|
|
1193
|
+
z <- c(0, 0.067, NA, 0.167, 0.083, 0.05, 0.067, NA, 0, 0.1, 0, 0.05,
|
|
1194
|
+
0.067, 0.067, 0.016, 0.117, 0.017, -0.017, 0.2, 0.35, 0.134, 0.15)
|
|
1195
|
+
image(x2, 1, as.matrix(z))
|
|
1196
|
+
## Comments: failed under R 1.3.1.
|
|
1197
|
+
|
|
1198
|
+
|
|
1199
|
+
##PR 1175 and 1123##
|
|
1200
|
+
set.seed(123)
|
|
1201
|
+
## We can't seem to get Pearson residuals right ##
|
|
1202
|
+
x <- 1:4 # regressor variable
|
|
1203
|
+
y <- c(2,6,7,8) # response binomial counts
|
|
1204
|
+
n <- rep(10,4) # number of binomial trials
|
|
1205
|
+
ym <- cbind(y,n-y) # response variable as a matrix
|
|
1206
|
+
glm1 <- glm(ym~x,binomial) # fit a generalized linear model
|
|
1207
|
+
f <- fitted(glm1)
|
|
1208
|
+
rp1 <- (y-n*f)/sqrt(n*f*(1-f)) # direct calculation of pearson residuals
|
|
1209
|
+
rp2 <- residuals(glm1,type="pearson") # should be pearson residuals
|
|
1210
|
+
stopifnot(all.equal(rp1,rp2))
|
|
1211
|
+
# sign should be same as response residuals
|
|
1212
|
+
x <- 1:10
|
|
1213
|
+
y <- rgamma(10,2)/x
|
|
1214
|
+
glm2 <- glm(y~x,family=Gamma)
|
|
1215
|
+
stopifnot(all.equal(sign(resid(glm2,"response")),sign(resid(glm2,"pearson"))))
|
|
1216
|
+
# shouldn't depend on link for a saturated model
|
|
1217
|
+
x<-rep(0:1,10)
|
|
1218
|
+
y<-rep(c(0,1,1,0,1),4)
|
|
1219
|
+
glm3<-glm(y~x,family=binomial(),control=glm.control(eps=1e-8))
|
|
1220
|
+
glm4<-glm(y~x,family=binomial("log"),control=glm.control(eps=1e-8))
|
|
1221
|
+
stopifnot(all.equal(resid(glm3,"pearson"),resid(glm4,"pearson")))
|
|
1222
|
+
|
|
1223
|
+
|
|
1224
|
+
## Torsten Hothorn, 2001-12-04
|
|
1225
|
+
stopifnot(pt(-Inf, 3, ncp=0) == 0, pt(Inf, 3, ncp=0) == 1)
|
|
1226
|
+
## Comments: were 0.5 in 1.3.1
|
|
1227
|
+
|
|
1228
|
+
|
|
1229
|
+
## Paul Gilbert, 2001-12-07
|
|
1230
|
+
cancor(matrix(rnorm(100),100,1), matrix(rnorm(300),100,3))
|
|
1231
|
+
## Comments: failed in R-devel.
|
|
1232
|
+
|
|
1233
|
+
|
|
1234
|
+
## PR#1201: incorrect values in qbeta
|
|
1235
|
+
x <- seq(0, 0.8, len=1000)
|
|
1236
|
+
xx <- pbeta(qbeta(x, 0.143891, 0.05), 0.143891, 0.05)
|
|
1237
|
+
stopifnot(max(abs(x - xx)) < 1e-6)
|
|
1238
|
+
## Comments: Get a range of zeroes in 1.3.1
|
|
1239
|
+
|
|
1240
|
+
|
|
1241
|
+
## PR#1216: binomial null model
|
|
1242
|
+
y <- rbinom(20, 1, 0.5)
|
|
1243
|
+
glm(y ~ 0, family = binomial)
|
|
1244
|
+
## Comments: 1.3.1 gave Error in any(n > 1) : Object "n" not found
|
|
1245
|
+
|
|
1246
|
+
|
|
1247
|
+
## Integer overflow in type.convert
|
|
1248
|
+
res <- type.convert("12345689", as.is=FALSE)
|
|
1249
|
+
stopifnot(typeof(res) == "integer")
|
|
1250
|
+
res <- type.convert("12345689012", as.is=FALSE)
|
|
1251
|
+
stopifnot(typeof(res) == "double")
|
|
1252
|
+
## Comments: was integer in 1.4.0
|
|
1253
|
+
|
|
1254
|
+
|
|
1255
|
+
## La.eigen() segfault
|
|
1256
|
+
#e1 <- La.eigen(m <- matrix(1:9,3))
|
|
1257
|
+
#stopifnot(e1$values == La.eigen(m, only.values = TRUE)$values)
|
|
1258
|
+
## 2.0.0: La.eigen is defunct
|
|
1259
|
+
|
|
1260
|
+
|
|
1261
|
+
## Patrick Connelly 2001-01-22, prediction with offsets failed
|
|
1262
|
+
## a simpler example
|
|
1263
|
+
counts <- c(18, 17, 15, 20, 10, 20, 25, 13, 12)
|
|
1264
|
+
outcome <- gl(3, 1, 9)
|
|
1265
|
+
treatment <- gl(3, 3)
|
|
1266
|
+
DF <- data.frame(counts = c(18, 17, 15, 20, 10, 20, 25, 13, 12),
|
|
1267
|
+
outcome = gl(3, 1, 9), treatment = gl(3, 3),
|
|
1268
|
+
exposure = c(1.17, 1.78, 1.00, 2.36, 2.58, 0.80, 2.51,
|
|
1269
|
+
1.16, 1.77))
|
|
1270
|
+
fit <- glm(counts ~ outcome + treatment + offset(log(exposure)),
|
|
1271
|
+
family = poisson, data = DF)
|
|
1272
|
+
p1 <- predict(fit)
|
|
1273
|
+
p2 <- predict(fit, se = TRUE) ## failed < 1.4.1
|
|
1274
|
+
p3 <- predict(fit, newdata = DF)
|
|
1275
|
+
p4 <- predict(fit, newdata = DF, se = TRUE)
|
|
1276
|
+
stopifnot(all.equal(p1, p2$fit), all.equal(p1, p3), all.equal(p2, p4))
|
|
1277
|
+
fit <- glm(counts ~ outcome + treatment, offset = log(exposure),
|
|
1278
|
+
family = poisson, data = DF)
|
|
1279
|
+
p1 <- predict(fit)
|
|
1280
|
+
p2 <- predict(fit, se = TRUE) ## failed < 1.4.1
|
|
1281
|
+
p3 <- predict(fit, newdata = DF)
|
|
1282
|
+
p4 <- predict(fit, newdata = DF, se = TRUE)
|
|
1283
|
+
stopifnot(all.equal(p1, p2$fit), all.equal(p1, p3), all.equal(p2, p4))
|
|
1284
|
+
|
|
1285
|
+
|
|
1286
|
+
## PR#1267 hashing NaN
|
|
1287
|
+
load(file.path(Sys.getenv("SRCDIR"), "nanbug.rda"))
|
|
1288
|
+
bb <- b; bb[5] <- NaN
|
|
1289
|
+
identical(b, bb) # TRUE
|
|
1290
|
+
unique(c(NaN, bb)) #[1] NaN 0 1 2 3 NA
|
|
1291
|
+
stopifnot(identical(unique(c(NaN, b)), unique(c(NaN, bb))))
|
|
1292
|
+
## 1.4.0 gives [1] NaN 0 1 2 NaN 3 NA on most platforms
|
|
1293
|
+
|
|
1294
|
+
|
|
1295
|
+
## reported by PD 2002-01-24
|
|
1296
|
+
Y <- matrix(rnorm(20), , 2)
|
|
1297
|
+
fit <- manova(Y ~ 1)
|
|
1298
|
+
fit # failed
|
|
1299
|
+
print(fit, intercept = TRUE)
|
|
1300
|
+
summary(fit) # failed
|
|
1301
|
+
summary(fit, intercept = TRUE)
|
|
1302
|
+
|
|
1303
|
+
|
|
1304
|
+
## Several qr.*() functions lose (dim)names.
|
|
1305
|
+
## reported by MM 2002-01-26
|
|
1306
|
+
|
|
1307
|
+
## the following should work both in R and S+ :
|
|
1308
|
+
q4 <- qr(X4 <- cbind(a = 1:9, b = c(1:6,3:1), c = 2:10, d = rep(1,9)))
|
|
1309
|
+
##q2 <- qr(X4[,1:2])
|
|
1310
|
+
y04 <- y4 <- cbind(A=1:9,B=2:10,C=3:11,D=4:12)
|
|
1311
|
+
dimnames(y4)[[1]] <- paste("c",1:9,sep=".")
|
|
1312
|
+
y1 <- y4[,2]
|
|
1313
|
+
y40 <- y4 ; dimnames(y40) <- list(dimnames(y4)[[1]], NULL)
|
|
1314
|
+
|
|
1315
|
+
c1 <- qr.coef( q4, y4) # row- AND col-names
|
|
1316
|
+
c2 <- qr.coef( q4, y04)# ditto
|
|
1317
|
+
c3 <- qr.coef( q4, y40)# row--names
|
|
1318
|
+
dn3 <- dimnames(c3)
|
|
1319
|
+
stopifnot(identical(dimnames(c1), dimnames(c2)),
|
|
1320
|
+
identical(dimnames(c1), list(letters[1:4], LETTERS[1:4])),
|
|
1321
|
+
identical(dn3[[1]], letters[1:4]), length(dn3[[2]]) == 0,
|
|
1322
|
+
identical(names(qr.coef(q4,y1)), letters[1:4]),
|
|
1323
|
+
identical(dimnames(qr.R(q4))[[2]], letters[1:4]),
|
|
1324
|
+
|
|
1325
|
+
identical(dimnames(qr.qty(q4,y4)), dimnames(y4)),
|
|
1326
|
+
identical(dimnames(qr.qty(q4,y40)), dimnames(y40)),
|
|
1327
|
+
identical(dimnames(qr.qy (q4,y04)), dimnames(y04)),
|
|
1328
|
+
|
|
1329
|
+
all.equal(y1, qr.fitted(q4, y1 ), tol = 1e-12),
|
|
1330
|
+
all.equal(y4, qr.fitted(q4, y4 ), tol = 1e-12),
|
|
1331
|
+
all.equal(y40, qr.fitted(q4, y40), tol = 1e-12),
|
|
1332
|
+
all.equal(y04, qr.fitted(q4, y04), tol = 1e-12),
|
|
1333
|
+
|
|
1334
|
+
all.equal(X4, qr.X(q4), tol = 1e-12)
|
|
1335
|
+
)
|
|
1336
|
+
|
|
1337
|
+
|
|
1338
|
+
## PR 1297 read.fwf() was interpreting `#' in 1.4.0/1
|
|
1339
|
+
cat(file="test.fwf", "123ABC123", "123#3 123", "123XYZ123", sep="\n")
|
|
1340
|
+
(res <- read.fwf("test.fwf", widths=c(3,3,3), comment.char=""))
|
|
1341
|
+
unlink("test.fwf")
|
|
1342
|
+
stopifnot(res[2, 2] == "#3 ")
|
|
1343
|
+
|
|
1344
|
+
|
|
1345
|
+
## abs was failing to dispatch as part of the Math group generic
|
|
1346
|
+
tmp <- data.frame(x = -5:5)
|
|
1347
|
+
abs(tmp)
|
|
1348
|
+
## failed in 1.4.1.
|
|
1349
|
+
|
|
1350
|
+
|
|
1351
|
+
## PR 1363 La.svd was not working for integer args
|
|
1352
|
+
m <- matrix(1:4, 2)
|
|
1353
|
+
(s1 <- svd(m))
|
|
1354
|
+
(s2 <- La.svd(m))
|
|
1355
|
+
stopifnot(all.equal(s1$d, s2$d), all.equal(s1$u, s2$u),
|
|
1356
|
+
all.equal(s1$v, t(s2$vt)))
|
|
1357
|
+
(e1 <- eigen(m))
|
|
1358
|
+
# (e2 <- La.eigen(m)) # 2.0.0: La.eigen is defunct
|
|
1359
|
+
stopifnot(all.equal(e1$d, e1$d))
|
|
1360
|
+
|
|
1361
|
+
|
|
1362
|
+
## order/sort.list on NA_STRING
|
|
1363
|
+
x <- c("A", NA, "Z")
|
|
1364
|
+
stopifnot(identical(sort(x, na.last = TRUE), x[sort.list(x, na.last = TRUE)]))
|
|
1365
|
+
stopifnot(identical(sort(x, na.last = FALSE), x[sort.list(x, na.last = FALSE)]))
|
|
1366
|
+
## 1.4.1 sorted NA correctly with sort but not sort.list.
|
|
1367
|
+
|
|
1368
|
+
|
|
1369
|
+
## Don MacQueen 2002-03-26
|
|
1370
|
+
stopifnot(length(seq(1024902010, 1024902025, by=1)) == 16)
|
|
1371
|
+
t0 <- ISOdatetime(2002,6,24,0,0,10)
|
|
1372
|
+
x <- seq.POSIXt(from=t0,to=t0+15,by='1 sec')
|
|
1373
|
+
stopifnot(length(x) == 16)
|
|
1374
|
+
|
|
1375
|
+
|
|
1376
|
+
## whilst reading the code BDR 2002-03-31
|
|
1377
|
+
z <- try(max(complex(0)))
|
|
1378
|
+
stopifnot(inherits(z, "try-error"))
|
|
1379
|
+
z <- try(min(complex(0)))
|
|
1380
|
+
stopifnot(inherits(z, "try-error"))
|
|
1381
|
+
## 1.4.1 gave +-Inf + random imaginary part
|
|
1382
|
+
|
|
1383
|
+
|
|
1384
|
+
## PR#1283 min/max(NULL) or (integer(0))
|
|
1385
|
+
z <- min(NULL)
|
|
1386
|
+
stopifnot(!is.na(z), mode(z) == "numeric", z == Inf)
|
|
1387
|
+
z <- min(integer(0))
|
|
1388
|
+
stopifnot(!is.na(z), mode(z) == "numeric", z == Inf)
|
|
1389
|
+
z <- max(NULL)
|
|
1390
|
+
stopifnot(!is.na(z), mode(z) == "numeric", z == -Inf)
|
|
1391
|
+
z <- max(integer(0))
|
|
1392
|
+
stopifnot(!is.na(z), mode(z) == "numeric", z == -Inf)
|
|
1393
|
+
|
|
1394
|
+
|
|
1395
|
+
## more reading the code BDR 2002-03-31
|
|
1396
|
+
stopifnot(identical(range(), range(numeric(0))))
|
|
1397
|
+
## in 1.4.1 range() was c(1,1)
|
|
1398
|
+
stopifnot(is.null(c()))
|
|
1399
|
+
## in 1.4.1 this was structure(TRUE, names="recursive")
|
|
1400
|
+
|
|
1401
|
+
## range(numeric(0)) was not as documented
|
|
1402
|
+
x <- numeric(0)
|
|
1403
|
+
(rx <- range(x))
|
|
1404
|
+
stopifnot(identical(rx, c(min(x), max(x))))
|
|
1405
|
+
## 1.4.1 had c(NA, NA)
|
|
1406
|
+
|
|
1407
|
+
|
|
1408
|
+
## PR 1431 persp() crashes with numeric values for [x,y,z]lab
|
|
1409
|
+
persp(1:2, 1:2, matrix(1:4, 2), xlab=1)
|
|
1410
|
+
## segfaulted in 1.4.1
|
|
1411
|
+
|
|
1412
|
+
|
|
1413
|
+
## PR#1244 bug in det using method="qr"
|
|
1414
|
+
## method argument is no longer used in det
|
|
1415
|
+
#m2 <- structure(c(9822616000, 3841723000, 79790.09, 3841723000, 1502536000,
|
|
1416
|
+
# 31251.82, 79790.09, 31251.82, 64156419.36), dim = c(3, 3))
|
|
1417
|
+
#(d1 <- det(m2, method="eigenvalues"))
|
|
1418
|
+
#(d2 <- det(m2, method="qr"))
|
|
1419
|
+
#stopifnot(d2 == 0) ## 1.4.1 gave 9.331893e+19
|
|
1420
|
+
#(d3 <- det(m2, method="qr", tol = 1e-10))
|
|
1421
|
+
#stopifnot(all.equal(d1, d3, tol=1e-3))
|
|
1422
|
+
|
|
1423
|
+
|
|
1424
|
+
## PR#1422 glm start/offset bugs
|
|
1425
|
+
res <- try(data(ships, package = MASS))
|
|
1426
|
+
if(!inherits(res, "try-error")) {
|
|
1427
|
+
ships.glm <- glm(incidents ~ type + year + period + offset(log(service)),
|
|
1428
|
+
family = poisson, data = ships, subset = (service != 0))
|
|
1429
|
+
update(ships.glm, start = coef(ships.glm))
|
|
1430
|
+
}
|
|
1431
|
+
## failed in 1.4.1.
|
|
1432
|
+
|
|
1433
|
+
|
|
1434
|
+
## PR#1439 file.info()$isdir was only partially logical
|
|
1435
|
+
(info <- file.info("."))
|
|
1436
|
+
info$isdir
|
|
1437
|
+
stopifnot(info$isdir == TRUE)
|
|
1438
|
+
## 1.4.1 had a TRUE value that was not internally integer 1.
|
|
1439
|
+
|
|
1440
|
+
## PR#1473 predict.*bSpline() bugs extrapolating for deriv >= 1
|
|
1441
|
+
library(splines)
|
|
1442
|
+
x <- c(1:3,5:6)
|
|
1443
|
+
y <- c(3:1,5:6)
|
|
1444
|
+
(isP <- interpSpline(x,y))# poly-spline representation
|
|
1445
|
+
(isB <- interpSpline(x,y, bSpl = TRUE))# B-spline repr.
|
|
1446
|
+
xo <- c(0, x, 10)# x + outside points
|
|
1447
|
+
op <- options(digits = 4)
|
|
1448
|
+
for(der in 0:3) # deriv=3 fails!
|
|
1449
|
+
print(formatC(try(predict(isP, xo, deriv = der)$y), wid=7,format="f"),
|
|
1450
|
+
quote = FALSE)
|
|
1451
|
+
## and for B-spline (instead of polynomial):
|
|
1452
|
+
for(der in 0:3) # deriv=3 failed
|
|
1453
|
+
print(formatC(try(predict(isB, xo, deriv = der)$y), wid=7,format="f"),
|
|
1454
|
+
quote = FALSE)
|
|
1455
|
+
options(op)
|
|
1456
|
+
unloadNamespace("splines")
|
|
1457
|
+
|
|
1458
|
+
|
|
1459
|
+
## PR 902 segfaults when warning string is too long, Ben Bolker 2001-04-09
|
|
1460
|
+
provoke.bug <- function(n=9000) {
|
|
1461
|
+
warnmsg <- paste(LETTERS[sample(1:26,n,replace=TRUE)],collapse="")
|
|
1462
|
+
warning(warnmsg)
|
|
1463
|
+
}
|
|
1464
|
+
provoke.bug()
|
|
1465
|
+
## segfaulted in 1.2.2, will also on machines without vsnprintf (none now)
|
|
1466
|
+
|
|
1467
|
+
|
|
1468
|
+
## PR#1510 merge with multiple match rows and different names.
|
|
1469
|
+
df1 <- data.frame(z = 1:10, m = letters[1:10], w = rnorm(10))
|
|
1470
|
+
df2 <- data.frame(x = 1:10, y = rnorm(10), n = letters[1:10])
|
|
1471
|
+
merge(df2, df1, by.x = c("x", "n"), by.y = c("z", "m"))
|
|
1472
|
+
## failed in 1.5.0
|
|
1473
|
+
|
|
1474
|
+
|
|
1475
|
+
## PR 1524 Problems with paste/unlist
|
|
1476
|
+
l <- names(unlist(list(aa = list(bb = 1))))
|
|
1477
|
+
l
|
|
1478
|
+
# this is exactly "aa.bb"
|
|
1479
|
+
stopifnot(identical(l, "aa.bb"))
|
|
1480
|
+
l2 <- paste(l, "this should be added")
|
|
1481
|
+
stopifnot(identical(l2, "aa.bb this should be added"))
|
|
1482
|
+
## 1.5.0 gave l2 printing as l.
|
|
1483
|
+
|
|
1484
|
+
|
|
1485
|
+
## PR 1530 drop inconsistency for data frames
|
|
1486
|
+
DF <- data.frame(x = 1:3, y = c("A","D","E"), z = c(6,9,10))
|
|
1487
|
+
a1 <- DF[1,1:3]
|
|
1488
|
+
xx <- DF[1,]
|
|
1489
|
+
a2 <- xx[, 1:3]
|
|
1490
|
+
a3 <- DF[1,1:3, drop = TRUE]
|
|
1491
|
+
a4 <- xx[, 1:3, drop = TRUE]
|
|
1492
|
+
stopifnot(identical(a1, a2), identical(a3, a4))
|
|
1493
|
+
## <= 1.5.0 had a2 == a3.
|
|
1494
|
+
|
|
1495
|
+
|
|
1496
|
+
## PR 1536 rbind.data.frame converts logical to factor
|
|
1497
|
+
df <- data.frame(a = 1:10)
|
|
1498
|
+
df$b <- df$a < 5
|
|
1499
|
+
ddf <- rbind(df, df)
|
|
1500
|
+
stopifnot(!is.factor(ddf$b))
|
|
1501
|
+
## 1.5.0 had b as a factor.
|
|
1502
|
+
|
|
1503
|
+
|
|
1504
|
+
## PR 1548 : prettyNum inserted leading commas
|
|
1505
|
+
stopifnot(prettyNum(123456, big.mark=",") == "123,456")
|
|
1506
|
+
|
|
1507
|
+
|
|
1508
|
+
## PR 1552: cut.dendrogram
|
|
1509
|
+
hc <- hclust(dist(USArrests), "ave")
|
|
1510
|
+
cc <- cut(as.dendrogram(hc), h = 20)## error in 1.5.0
|
|
1511
|
+
|
|
1512
|
+
## predict.smooth.spline(*, deriv > 0) :
|
|
1513
|
+
x <- (1:200)/32
|
|
1514
|
+
ss <- smooth.spline(x, 10*sin(x))
|
|
1515
|
+
stopifnot(length(x) == length(predict(ss,deriv=1)$x))# not yet in 1.5.0
|
|
1516
|
+
|
|
1517
|
+
## pweibull(large, log=T):
|
|
1518
|
+
stopifnot(pweibull(seq(1,50,len=1001), 2,3, log = TRUE) < 0)
|
|
1519
|
+
|
|
1520
|
+
## part of PR 1662: fisher.test with total one
|
|
1521
|
+
fisher.test(cbind(0, c(0,0,0,1)))
|
|
1522
|
+
## crashed in R <= 1.5.0
|
|
1523
|
+
|
|
1524
|
+
stopifnot(Mod(vector("complex", 7)) == 0) # contained garbage in 1.5.0
|
|
1525
|
+
|
|
1526
|
+
## hist.POSIXt with numeric `breaks'
|
|
1527
|
+
hist(.leap.seconds, breaks = 5)
|
|
1528
|
+
## error in 1.5.1
|
|
1529
|
+
|
|
1530
|
+
|
|
1531
|
+
##Jonathan Rougier 2002-06-18
|
|
1532
|
+
x <- matrix(runif(30), 10, 3)
|
|
1533
|
+
poly(x, degree=2)
|
|
1534
|
+
## failed in 1.5.1
|
|
1535
|
+
|
|
1536
|
+
|
|
1537
|
+
## PR#1694 cut with infinite values -> NA (Markus J�ntti)
|
|
1538
|
+
cut.off <- c(-Inf, 0, Inf)
|
|
1539
|
+
x <- c(-Inf, -10, 0, 10, Inf)
|
|
1540
|
+
(res <- cut(x, cut.off, include.lowest=TRUE))
|
|
1541
|
+
stopifnot(!is.na(res))
|
|
1542
|
+
(res <- cut(x, cut.off, include.lowest=TRUE, right=FALSE))
|
|
1543
|
+
stopifnot(!is.na(res))
|
|
1544
|
+
## outer values were NA in 1.5.1
|
|
1545
|
+
|
|
1546
|
+
|
|
1547
|
+
## ls.str() for function environments:
|
|
1548
|
+
Fn <- ecdf(rnorm(50))
|
|
1549
|
+
ls.str(envir = environment(Fn))
|
|
1550
|
+
## failed in 1.5.1
|
|
1551
|
+
|
|
1552
|
+
|
|
1553
|
+
## PR 1767 all.equal.character for non-matching NAs
|
|
1554
|
+
all.equal(c("A", "B"), c("A", NA))
|
|
1555
|
+
## failed in 1.5.1
|
|
1556
|
+
|
|
1557
|
+
|
|
1558
|
+
## failed since at least version 0.90:
|
|
1559
|
+
stopifnot(is.character(a12 <- all.equal(1,1:2)),
|
|
1560
|
+
length(a12) == 1,# was 2 till 1.6.2
|
|
1561
|
+
a12 == "Numeric: lengths (1, 2) differ")
|
|
1562
|
+
## a12 was *list* of length 3
|
|
1563
|
+
|
|
1564
|
+
|
|
1565
|
+
## related to PR 1577/1608, conversions to character
|
|
1566
|
+
DF <- data.frame(b = LETTERS[1:3])
|
|
1567
|
+
sapply(DF, class)
|
|
1568
|
+
DF[[1]] <- LETTERS[1:3]
|
|
1569
|
+
stopifnot(is.character(DF$b)) ## was factor < 1.6.0
|
|
1570
|
+
DF <- data.frame(b = LETTERS[1:3])
|
|
1571
|
+
DF$b <- LETTERS[1:3]
|
|
1572
|
+
stopifnot(is.character(DF$b)) ## always was character.
|
|
1573
|
+
|
|
1574
|
+
x <- data.frame(var = LETTERS[1:3]); x$var <- as.character(x$var)
|
|
1575
|
+
x[[1]][2] <- "3"
|
|
1576
|
+
x
|
|
1577
|
+
stopifnot(is.character(x$var))
|
|
1578
|
+
is.na(x[[1]]) <- 2
|
|
1579
|
+
stopifnot(is.character(x$var))
|
|
1580
|
+
|
|
1581
|
+
x <- data.frame(var = I(LETTERS[1:3]))
|
|
1582
|
+
x[[1]][2] <- "3"
|
|
1583
|
+
x
|
|
1584
|
+
stopifnot(is.character(x$var))
|
|
1585
|
+
is.na(x[[1]]) <- 2
|
|
1586
|
+
stopifnot(is.character(x$var))
|
|
1587
|
+
|
|
1588
|
+
x <- data.frame(var = factor(LETTERS[1:3]))
|
|
1589
|
+
x[[1]][2] <- "3"
|
|
1590
|
+
x
|
|
1591
|
+
stopifnot(is.factor(x$var))
|
|
1592
|
+
is.na(x[[1]]) <- 2
|
|
1593
|
+
stopifnot(is.factor(x$var))
|
|
1594
|
+
|
|
1595
|
+
x <- data.frame(a = 1:4)
|
|
1596
|
+
y <- data.frame(b = LETTERS[1:3])
|
|
1597
|
+
y$b <- as.character(y$b)
|
|
1598
|
+
z <- merge(x, y, by = 0, all.x = TRUE)
|
|
1599
|
+
sapply(z, data.class)
|
|
1600
|
+
stopifnot(is.character(z$b))
|
|
1601
|
+
## end of `related to PR 1577/1608'
|
|
1602
|
+
|
|
1603
|
+
|
|
1604
|
+
## logicals became factors < 1.6.0
|
|
1605
|
+
stopifnot(sapply(as.data.frame(matrix((1:12)%% 4 == 1, 3,4)),
|
|
1606
|
+
is.logical))
|
|
1607
|
+
|
|
1608
|
+
|
|
1609
|
+
## recycling of factors in data.frame (wish from PR#1713)
|
|
1610
|
+
data.frame(x=c("A","B"), y="C") # failed to recycle in 1.5.1
|
|
1611
|
+
X <- data.frame(x=c("A","B"), y=I("C")) # also failed
|
|
1612
|
+
XX <- data.frame(x=c("A","B"), y=I(rep("C", 2))) # fine
|
|
1613
|
+
stopifnot(identical(X, XX))
|
|
1614
|
+
## Last is false in some S variants.
|
|
1615
|
+
|
|
1616
|
+
|
|
1617
|
+
## test of rank-deficient prediction, as various claims this did not work
|
|
1618
|
+
## on R-help in June 2002
|
|
1619
|
+
x1 <- rnorm(100)
|
|
1620
|
+
x3 <- rnorm(100)
|
|
1621
|
+
y <- rnorm(100)
|
|
1622
|
+
train <- data.frame(y=y, x1=x1, x2=x1, x3=x3)
|
|
1623
|
+
fit <- lm(y ~ ., train)
|
|
1624
|
+
stopifnot(all.equal(predict(fit), predict(fit, train)))
|
|
1625
|
+
## warning added for 1.6.0
|
|
1626
|
+
|
|
1627
|
+
|
|
1628
|
+
## terms(y ~ .) on data frames with duplicate names
|
|
1629
|
+
DF <- data.frame(y = rnorm(10), x1 = rnorm(10), x2 = rnorm(10), x3 = rnorm(10))
|
|
1630
|
+
names(DF)[3] <- "x1"
|
|
1631
|
+
fit <- try(lm(y ~ ., DF))
|
|
1632
|
+
stopifnot(class(fit) == "try-error")
|
|
1633
|
+
## had formula y ~ x1 + x1 + x3 in 1.5.1.
|
|
1634
|
+
|
|
1635
|
+
|
|
1636
|
+
## PR#1759 as.character.octmode() (Henrik Bengtsson)
|
|
1637
|
+
x <- 0; class(x) <- "octmode"
|
|
1638
|
+
stopifnot(as.character(x) == "0")
|
|
1639
|
+
## gave "" in 1.5.1
|
|
1640
|
+
|
|
1641
|
+
|
|
1642
|
+
## PR#1843 unsplit() with f a list
|
|
1643
|
+
g <- factor(round(10 * runif(1000)))
|
|
1644
|
+
x <- rnorm(1000) + sqrt(as.numeric(g))
|
|
1645
|
+
xg <- split(x, list(g1=g,g2=g))
|
|
1646
|
+
res <- unsplit(xg, list(g1=g, g2=g))
|
|
1647
|
+
stopifnot(x == res) # can't have rounding error here
|
|
1648
|
+
## gave incorrect result with warning in 1.5.1.
|
|
1649
|
+
|
|
1650
|
+
|
|
1651
|
+
## matching NAs on Solaris (MM 2002-08-02)
|
|
1652
|
+
# x <- as.double(NA)
|
|
1653
|
+
# identical(x + 0, x)
|
|
1654
|
+
# stopifnot(match(x + 0, x, 0) == 1)
|
|
1655
|
+
## match failed on Solaris with some compiler settings
|
|
1656
|
+
## NA+0 is not guaranteed to be NA: could be NaN
|
|
1657
|
+
|
|
1658
|
+
|
|
1659
|
+
## identical on specials (BDR 2002-08-02)
|
|
1660
|
+
stopifnot(identical(as.double(NA), NaN) == FALSE)
|
|
1661
|
+
## was identical on 1.5.1
|
|
1662
|
+
|
|
1663
|
+
|
|
1664
|
+
## safe prediction (PR#1840)
|
|
1665
|
+
cars.1 <- lm(dist ~ poly(speed, degree = 1), data = cars)
|
|
1666
|
+
cars1 <- lm(dist ~ speed, data = cars)
|
|
1667
|
+
DF <- data.frame(speed=4)
|
|
1668
|
+
stopifnot(all.equal(predict(cars.1, DF), predict(cars1, DF)))
|
|
1669
|
+
## error in 1.5.1
|
|
1670
|
+
|
|
1671
|
+
|
|
1672
|
+
## Ops.data.frame (PR#1889)
|
|
1673
|
+
d <- data.frame(1:10)
|
|
1674
|
+
d > list(5)
|
|
1675
|
+
## failed in 1.5.1
|
|
1676
|
+
|
|
1677
|
+
|
|
1678
|
+
## order(na.last = NA) (PR#1913 / 1906 / 1981)
|
|
1679
|
+
x <- 1
|
|
1680
|
+
order(x, na.last=NA)
|
|
1681
|
+
order(x, x, x, na.last=NA)
|
|
1682
|
+
## failed in 1.5.1, since sapply simplified to a scalar.
|
|
1683
|
+
stopifnot(3:1 == order(c(1,2,3,NA), na.last=NA, decreasing=TRUE))
|
|
1684
|
+
## ignored `decreasing' in 1.5.1
|
|
1685
|
+
order(c(NA, NA), na.last = NA)
|
|
1686
|
+
## error in 1.5.1, now integer(0)
|
|
1687
|
+
|
|
1688
|
+
## as.list() coerced logical to integer (PR#1926)
|
|
1689
|
+
x <- c(TRUE,FALSE,NA)
|
|
1690
|
+
stopifnot(identical(x, unlist(as.list(x))))
|
|
1691
|
+
## the 2nd was (1,0,NA) before 1.6
|
|
1692
|
+
|
|
1693
|
+
|
|
1694
|
+
## test of long Error expression in aov(): PR#1315 and later,
|
|
1695
|
+
## and also a cross-check of deparse(, cutoff = 500)
|
|
1696
|
+
AA <- structure(list(Y2 = c(10, 9, 0, 0, 5, 6, 0, 0, 8, 9, 0, 0, 4,
|
|
1697
|
+
4, 0, 0, 12, 11, 2, 0, 6, 7, 0, 0), P2 = factor(c(1L, 1L,
|
|
1698
|
+
1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L,
|
|
1699
|
+
3L, 3L, 3L, 3L, 3L, 3L), labels = c("1", "2", "3")),
|
|
1700
|
+
AAAAAAAA = factor(c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 1L,
|
|
1701
|
+
1L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L
|
|
1702
|
+
), labels = c("E1", "E2")), B2 = factor(c(1L,
|
|
1703
|
+
1L, 2L, 2L, 1L, 1L, 2L, 2L, 1L, 1L, 2L, 2L, 1L, 1L, 2L, 2L,
|
|
1704
|
+
1L, 1L, 2L, 2L, 1L, 1L, 2L, 2L), labels = c("Red", "Unred"
|
|
1705
|
+
)), C2 = factor(c(1L, 2L, 1L, 2L, 1L,
|
|
1706
|
+
2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L,
|
|
1707
|
+
1L, 2L, 1L, 2L), labels = c("Agent", "Patient"))),
|
|
1708
|
+
names = c("Y2", "P2", "AAAAAAAA", "B2", "C2"),
|
|
1709
|
+
class = "data.frame", row.names = 1:24)
|
|
1710
|
+
AK2anova.out <-
|
|
1711
|
+
aov(Y2 ~ AAAAAAAA * B2 * C2 +
|
|
1712
|
+
Error(P2 + P2:AAAAAAAA + P2:B2 + P2:C2 + P2:AAAAAAAA:B2 +
|
|
1713
|
+
P2:AAAAAAAA:C2 + P2:B2:C2 + P2:AAAAAAAA:B2:C2),
|
|
1714
|
+
data=AA)
|
|
1715
|
+
## failed in 1.5.1
|
|
1716
|
+
|
|
1717
|
+
## as.character was silently truncating expressions to 60 chars
|
|
1718
|
+
q2 <- expression(c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19))
|
|
1719
|
+
(q3 <- as.character(q2))
|
|
1720
|
+
stopifnot(nchar(q3) == 68)
|
|
1721
|
+
## was 61 in 1.5.1
|
|
1722
|
+
|
|
1723
|
+
|
|
1724
|
+
## Ops wasn't using NextMethod correctly
|
|
1725
|
+
|
|
1726
|
+
## Ops.ordered:
|
|
1727
|
+
or <- ordered(c("a","b","c"))
|
|
1728
|
+
stopifnot( (or == "a") == c(TRUE,FALSE,FALSE))
|
|
1729
|
+
stopifnot(or == or)
|
|
1730
|
+
stopifnot(or != "d")
|
|
1731
|
+
## last was NA NA NA in 1.5.1
|
|
1732
|
+
|
|
1733
|
+
|
|
1734
|
+
Ops.foo <- function(e1, e2) {
|
|
1735
|
+
NextMethod()
|
|
1736
|
+
}
|
|
1737
|
+
Ops.baz <- function(e1, e2) {
|
|
1738
|
+
NextMethod()
|
|
1739
|
+
}
|
|
1740
|
+
a <- b <- 1
|
|
1741
|
+
class(a) <- c("foo","bar","baz")
|
|
1742
|
+
class(b) <- c("foo","baz")
|
|
1743
|
+
stopifnot(a == 1,
|
|
1744
|
+
b == a)
|
|
1745
|
+
##(already worked in 1.5.1)
|
|
1746
|
+
|
|
1747
|
+
|
|
1748
|
+
## t() wrongly kept "ts" class and "tsp"
|
|
1749
|
+
t(ts(c(a=1, d=2)))
|
|
1750
|
+
## gave error while printing in 1.5.1
|
|
1751
|
+
at <- attributes(t(ts(cbind(1, 1:20))))
|
|
1752
|
+
stopifnot(length(at) == 2,
|
|
1753
|
+
at$dim == c(2, 20),
|
|
1754
|
+
at$dimnames[[1]] == paste("Series", 1:2))
|
|
1755
|
+
## failed in 1.5.1
|
|
1756
|
+
|
|
1757
|
+
|
|
1758
|
+
## Nextmethod from anonymous function (PR#1211)
|
|
1759
|
+
try( get("print.ts")(1) )# -> Error
|
|
1760
|
+
## seg.faulted till 1.5.1
|
|
1761
|
+
|
|
1762
|
+
|
|
1763
|
+
## cbind/rbind should work with NULL only args
|
|
1764
|
+
stopifnot(is.null(cbind(NULL)), is.null(cbind(NULL,NULL)),
|
|
1765
|
+
is.null(rbind(NULL)), is.null(rbind(NULL,NULL)))
|
|
1766
|
+
## gave error from 0.63 till 1.5.1
|
|
1767
|
+
|
|
1768
|
+
|
|
1769
|
+
## seq.POSIXt() had rounding problem:
|
|
1770
|
+
stopifnot(4 == length(seq(from=ISOdate(2000,1,1), to=ISOdate(2000,1,4),
|
|
1771
|
+
length.out=4)))
|
|
1772
|
+
## length was 5 till 1.6.0
|
|
1773
|
+
|
|
1774
|
+
|
|
1775
|
+
## loess has a limit of 4 predictors (John Deke on R-help, 2002-09-16)
|
|
1776
|
+
data1 <- array(runif(500*5),c(500,5))
|
|
1777
|
+
colnames(data1) <- c("x1","x2","x3","x4","x5")
|
|
1778
|
+
y <- 3+2*data1[,"x1"]+15*data1[,"x2"]+13*data1[,"x3"]-8*data1[,"x4"]+14*data1[,"x5"]+rnorm(500)
|
|
1779
|
+
data2 <- as.data.frame(cbind(y,data1))
|
|
1780
|
+
result4 <- loess(y~x1+x2+x3+x4,data2)
|
|
1781
|
+
try(result5 <- loess(y~x1+x2+x3+x4+x5,data2))
|
|
1782
|
+
## segfaulted in 1.5.1
|
|
1783
|
+
|
|
1784
|
+
|
|
1785
|
+
## format.AsIs was not handling matrices
|
|
1786
|
+
jk <- data.frame(x1=2, x2=I(matrix(0,1,2)))
|
|
1787
|
+
jk
|
|
1788
|
+
## printing failed in 1.5.1
|
|
1789
|
+
|
|
1790
|
+
|
|
1791
|
+
## eigenvectors got irrelevant names (PR#2116)
|
|
1792
|
+
set.seed(1)
|
|
1793
|
+
A <- matrix(rnorm(20), 5, 4); A <- A[,c(1:4,1)] # rank 4!
|
|
1794
|
+
dimnames(A) <- list(LETTERS[1:5], letters[1:5])
|
|
1795
|
+
(ev <- eigen(A)$vectors)
|
|
1796
|
+
stopifnot(is.null(dimnames(ev)))
|
|
1797
|
+
## had colnames in 1.6.0
|
|
1798
|
+
|
|
1799
|
+
|
|
1800
|
+
## pretty was not pretty {because seq() isn't} (PR#1032 and D.Brahm)
|
|
1801
|
+
stopifnot(pretty(c(-.1, 1))[2] == 0, ## [2] was -2.775558e-17
|
|
1802
|
+
pretty(c(-.4,.8))[3] == 0, ## [3] was 5.551115e-17
|
|
1803
|
+
pretty(100+ c(0, pi*1e-10))[4] > 100,# < not too much rounding!
|
|
1804
|
+
pretty(c(2.8,3))[1] == 2.8)
|
|
1805
|
+
## last differed by 4.44e-16 in R 1.1.1
|
|
1806
|
+
|
|
1807
|
+
|
|
1808
|
+
## add1 was giving misleading message when scope was nonsensical.
|
|
1809
|
+
counts <- c(18,17,15,20,10,20,25,13,12)
|
|
1810
|
+
fit <- glm(counts ~ 1, family=poisson)
|
|
1811
|
+
res <- try(add1(fit, ~ .))
|
|
1812
|
+
## error in 1.6.0 was
|
|
1813
|
+
## `Error in if (ncol(add) > 1) { : missing value where logical needed'
|
|
1814
|
+
stopifnot(length(grep("missing value", res)) == 0)
|
|
1815
|
+
|
|
1816
|
+
|
|
1817
|
+
## stripchart with NAs (PR#2018)
|
|
1818
|
+
Sepal <- iris$Sepal.Length
|
|
1819
|
+
Sepal[27] <- NA
|
|
1820
|
+
stripchart(Sepal ~ iris$Species, method="stack")
|
|
1821
|
+
## failed in 1.6.1
|
|
1822
|
+
|
|
1823
|
+
|
|
1824
|
+
## losing is.object bit internally (PR#2315)
|
|
1825
|
+
stopifnot(is.ts(log(as.ts(1:10))))
|
|
1826
|
+
## failed for integer original as here in 1.6.1.
|
|
1827
|
+
|
|
1828
|
+
|
|
1829
|
+
## formatC ignored rounding up (PR#2299)
|
|
1830
|
+
stopifnot(formatC(99.9, 1, format="fg") == "100")
|
|
1831
|
+
stopifnot(formatC(99.9, 2, format="fg") == "100")
|
|
1832
|
+
stopifnot(formatC(99.9, 3, format="fg") == "99.9")
|
|
1833
|
+
## gave exponential format on 1.6.1
|
|
1834
|
+
|
|
1835
|
+
|
|
1836
|
+
## full/partial matching in attr.
|
|
1837
|
+
tmp <- list(id=1)
|
|
1838
|
+
attr(tmp,"n.ch") <- 2
|
|
1839
|
+
attr(tmp,"n") <- 1
|
|
1840
|
+
attributes(tmp)
|
|
1841
|
+
(res <- attr(tmp, "n"))
|
|
1842
|
+
stopifnot(length(res) == 1 && res == 1)
|
|
1843
|
+
## gave NULL in 1.6.1
|
|
1844
|
+
|
|
1845
|
+
|
|
1846
|
+
if (have_cat) {
|
|
1847
|
+
## Formerly undocumented line limit in system(intern=TRUE)
|
|
1848
|
+
## Naoki Takebayashi <ntakebay@bio.indiana.edu> 2002-12-07
|
|
1849
|
+
tmp <- tempfile()
|
|
1850
|
+
long <- paste(rep("0123456789", 20L), collapse="")
|
|
1851
|
+
cat(long, "\n", sep="", file=tmp)
|
|
1852
|
+
junk <- system(paste("cat", shQuote(tmp)), intern = TRUE)
|
|
1853
|
+
stopifnot(length(junk) == 1L, nchar(junk[1]) == 200L)
|
|
1854
|
+
## and split truncated on 1.6.1
|
|
1855
|
+
}
|
|
1856
|
+
|
|
1857
|
+
|
|
1858
|
+
## missing group generics for `difftime' (related to PR#2345)
|
|
1859
|
+
x <- as.difftime(c("0:3:20", "11:23:15"))
|
|
1860
|
+
y <- ISOdate(2001, 4, 26) - ISOdate(2001, 2, 26)
|
|
1861
|
+
x + x
|
|
1862
|
+
2*x
|
|
1863
|
+
x < y
|
|
1864
|
+
x < 100
|
|
1865
|
+
## all but last failed in R < 1.7.0
|
|
1866
|
+
|
|
1867
|
+
|
|
1868
|
+
## PR 2358 (part)
|
|
1869
|
+
mm <- 1:2
|
|
1870
|
+
names(mm)[2] <- 'y'
|
|
1871
|
+
(mm <- c(mm, 3))
|
|
1872
|
+
stopifnot(is.na(names(mm)[1]))
|
|
1873
|
+
## 1.6.1 had "NA"
|
|
1874
|
+
|
|
1875
|
+
|
|
1876
|
+
## PR 2357
|
|
1877
|
+
a <- matrix(c(1,2,3,-1,-2,3),2,3,dimnames=list(c("A","B"),NULL))
|
|
1878
|
+
(z <- pmax(a, 0))
|
|
1879
|
+
stopifnot(identical(dimnames(z), dimnames(a)))
|
|
1880
|
+
# further checks
|
|
1881
|
+
a <- matrix(c(1,2,3,-1,-2,3),2,3,dimnames=list(c("A","B"),1:3))
|
|
1882
|
+
(z <- pmax(a, 0))
|
|
1883
|
+
stopifnot(identical(dimnames(z), dimnames(a)))
|
|
1884
|
+
a <- matrix(c(1,2,3,-1,-2,3),2,3,dimnames=list(NULL, letters[1:3]))
|
|
1885
|
+
(z <- pmax(a, 0))
|
|
1886
|
+
stopifnot(identical(dimnames(z), dimnames(a)))
|
|
1887
|
+
## 1.6.1 only transferred dimnames if both components were non-null
|
|
1888
|
+
|
|
1889
|
+
|
|
1890
|
+
## internal conversion to factor in type.convert was not right
|
|
1891
|
+
## if a character string NA was involved.
|
|
1892
|
+
x <- c(NA, "NA", "foo")
|
|
1893
|
+
(z <- type.convert(x, as.is=FALSE))
|
|
1894
|
+
stopifnot(identical(levels(z), "foo"))
|
|
1895
|
+
(z <- type.convert(x, na.strings=character(0), as.is=FALSE))
|
|
1896
|
+
stopifnot(identical(levels(z), sort(c("foo", "NA"))))
|
|
1897
|
+
(z <- type.convert(x, na.strings="foo", as.is=FALSE))
|
|
1898
|
+
stopifnot(identical(levels(z), "NA"))
|
|
1899
|
+
## extra level in 1.6.1
|
|
1900
|
+
|
|
1901
|
+
|
|
1902
|
+
## related example
|
|
1903
|
+
tmp <- tempfile()
|
|
1904
|
+
cat(c("1", "foo", "\n", "2", "NA", "\n"), file = tmp)
|
|
1905
|
+
(z <- read.table(tmp, na.strings="foo", stringsAsFactors=TRUE))
|
|
1906
|
+
unlink(tmp)
|
|
1907
|
+
stopifnot(identical(levels(z$V2), "NA"),
|
|
1908
|
+
identical(is.na(z$V2), c(TRUE, FALSE)))
|
|
1909
|
+
## 1.6.1 had V2 as NA NA.
|
|
1910
|
+
|
|
1911
|
+
|
|
1912
|
+
## PR#2396, parsing and pushbacks.
|
|
1913
|
+
tmp <- tempfile()
|
|
1914
|
+
cat( c( "1", "a+b", "2"), file=tmp, sep="\n")
|
|
1915
|
+
open(tcon <- file(tmp))
|
|
1916
|
+
readLines(tcon, n=1)
|
|
1917
|
+
pushBack("a1+b1", tcon)
|
|
1918
|
+
parse(file=tcon, n=1)
|
|
1919
|
+
close(tcon)
|
|
1920
|
+
unlink(tmp)
|
|
1921
|
+
## failed with syntax error in 1.6.1
|
|
1922
|
+
|
|
1923
|
+
|
|
1924
|
+
## NAs in max.col
|
|
1925
|
+
a <- matrix(1, 3, 3)
|
|
1926
|
+
a[1,2] <- NA
|
|
1927
|
+
(z <- max.col(a))
|
|
1928
|
+
stopifnot(is.na(z[1]))
|
|
1929
|
+
## gave (randomly) 1 or 3 in 1.6.1
|
|
1930
|
+
|
|
1931
|
+
|
|
1932
|
+
## PR#2469: read.table on Mac OS CR-terminated files.
|
|
1933
|
+
tmp <- tempfile()
|
|
1934
|
+
x <- c("aaa", "bbb", "ccc")
|
|
1935
|
+
cat(x, sep="\r", file=tmp)
|
|
1936
|
+
con <- file(tmp)
|
|
1937
|
+
open(con)
|
|
1938
|
+
line <- readLines(con, 1)
|
|
1939
|
+
pushBack(line, con)
|
|
1940
|
+
(y <- readLines(con))
|
|
1941
|
+
close(con)
|
|
1942
|
+
unlink(tmp)
|
|
1943
|
+
stopifnot(identical(x, y))
|
|
1944
|
+
## pushback problems in 1.6.2 only
|
|
1945
|
+
|
|
1946
|
+
|
|
1947
|
+
## dimnames in solve(): not a bug just an improvement in 1.7.0
|
|
1948
|
+
A <- diag(3)
|
|
1949
|
+
dimnames(A) <- list(LETTERS[1:3], letters[1:3])
|
|
1950
|
+
(B <- solve(A))
|
|
1951
|
+
stopifnot(identical(colnames(B), rownames(A)))
|
|
1952
|
+
## R < 1.7.0 had no colnames for B, and S has the colnames of A.
|
|
1953
|
+
stopifnot(all.equal(t(B), solve(t(A))))
|
|
1954
|
+
## test here is of dimnames
|
|
1955
|
+
|
|
1956
|
+
|
|
1957
|
+
## PR#2507: extracting 0-length dimensions for arrays
|
|
1958
|
+
dn <- list(LETTERS[1:2], letters[1:3], paste("t",1:4,sep=""))
|
|
1959
|
+
A. <- array(1:24, dim = 2:4, dimnames = dn)
|
|
1960
|
+
str(A.[1, 0, 2 ])
|
|
1961
|
+
str(A.[1, 0, 2, drop = FALSE])
|
|
1962
|
+
## both gave errors in 1.6.2
|
|
1963
|
+
|
|
1964
|
+
plot(sf <- stepfun(2, 3:4))
|
|
1965
|
+
## failed in 1.6.2
|
|
1966
|
+
|
|
1967
|
+
|
|
1968
|
+
## PR#2541, cbind (and rbind) with zero-length components
|
|
1969
|
+
y <- matrix(0,1,0)
|
|
1970
|
+
cbind(y, integer(0))
|
|
1971
|
+
y <- matrix(0,0,1)
|
|
1972
|
+
rbind(y, integer(0))
|
|
1973
|
+
## gave fatal error in 1.6.2, since miscalculated no of rows/cols.
|
|
1974
|
+
|
|
1975
|
+
|
|
1976
|
+
## PR#2518 multiple objects in AIC.default.
|
|
1977
|
+
lm1 <- lm(y ~ x, list(x=1:10, y=jitter(1:10)))
|
|
1978
|
+
lm2 <- lm(y ~ x, list(x=1:10, y=jitter(1:10)))
|
|
1979
|
+
AIC(lm1, lm2)
|
|
1980
|
+
AIC(lm1, lm2, k=2)
|
|
1981
|
+
## second failed in 1.6.2
|
|
1982
|
+
|
|
1983
|
+
|
|
1984
|
+
## PR#2591 unique on ordered factor
|
|
1985
|
+
f <- ordered(month.name, levels=month.name)
|
|
1986
|
+
(uf <- unique(f))
|
|
1987
|
+
stopifnot(is.ordered(uf))
|
|
1988
|
+
## gave factor in 1.6.2
|
|
1989
|
+
|
|
1990
|
+
|
|
1991
|
+
## PR#2587 coercion of length-0 vectors
|
|
1992
|
+
x <- numeric(0)
|
|
1993
|
+
x[1] <- NA
|
|
1994
|
+
stopifnot(identical(mode(x), "numeric"))
|
|
1995
|
+
##
|
|
1996
|
+
|
|
1997
|
+
|
|
1998
|
+
## coercion lost the object bit in [<-
|
|
1999
|
+
x <- I(TRUE)
|
|
2000
|
+
is.object(x)
|
|
2001
|
+
x[2] <- "N"
|
|
2002
|
+
stopifnot(is.object(x))
|
|
2003
|
+
## failed in 1.6.2
|
|
2004
|
+
|
|
2005
|
+
|
|
2006
|
+
## check inherits now works for basic classes:
|
|
2007
|
+
x <- 1:3
|
|
2008
|
+
is.object(x) # FALSE
|
|
2009
|
+
stopifnot(inherits(x, "integer"))
|
|
2010
|
+
## 2003-Mar-12 it did not
|
|
2011
|
+
|
|
2012
|
+
|
|
2013
|
+
## rank() is numeric also for NA char vectors
|
|
2014
|
+
stopifnot(is.numeric(rk <- rank(c("ch","c", NA))),
|
|
2015
|
+
all(rk == c(2,1,3)))
|
|
2016
|
+
## did not from R 1.2 -- 1.6
|
|
2017
|
+
|
|
2018
|
+
|
|
2019
|
+
## table() should by default keep NA levels of factors
|
|
2020
|
+
i <- c(1:2,NA); fi <- factor(i, exclude = NULL)
|
|
2021
|
+
stopifnot(identical(as.character(i), dimnames(table(fi))[[1]]))
|
|
2022
|
+
## not in 2003-Mar-10 unstable
|
|
2023
|
+
|
|
2024
|
+
|
|
2025
|
+
## [lm.]influence() for multivariate lm :
|
|
2026
|
+
n <- 32
|
|
2027
|
+
Y0 <- matrix(rnorm(3 * n), n, 3) # and a version with named Y's
|
|
2028
|
+
Yn <- Y0; colnames(Yn) <- paste0("Y",1:3)
|
|
2029
|
+
X <- matrix(rnorm(5 * n), n, 5)
|
|
2030
|
+
for(Y in list(Y0, Yn)) {
|
|
2031
|
+
fmL <- lapply(1:3, function(j) lm(Y[,j] ~ X))
|
|
2032
|
+
infL <- lapply(fmL, lm.influence)
|
|
2033
|
+
infm <- lm.influence(mod <- lm(Y ~ X))
|
|
2034
|
+
if(interactive()) str(infL, give.attr=FALSE) # should match the 'infm' parts
|
|
2035
|
+
## 1. "hat" are all the 3 the same
|
|
2036
|
+
hatL <- sapply(infL, `[[`, "hat")
|
|
2037
|
+
stopifnot(all.equal(hatL[,1], hatL[,2]), all.equal(hatL[,2], hatL[,3]))
|
|
2038
|
+
## 2. the other 3 components should be "concatenated" to give same as mlm :
|
|
2039
|
+
for(nm in c("coefficients", "sigma", "wt.res")) {
|
|
2040
|
+
stopifnot(all.equal(unname(infm[[nm]]),
|
|
2041
|
+
unname(sapply(infL, `[[`, nm, simplify="array",
|
|
2042
|
+
USE.NAMES=FALSE))))
|
|
2043
|
+
}
|
|
2044
|
+
## failed up to 2003-03-29 (pre 1.7.0)
|
|
2045
|
+
im1 <- influence.measures(mod)
|
|
2046
|
+
dfbs <- dfbetas(mod)
|
|
2047
|
+
dimnames(dfbs)[[3]] <- dimnames(im1$infmat)[[3]][1:6]
|
|
2048
|
+
stopifnot(all.equal(im1$infmat[,,1:6], dfbs))
|
|
2049
|
+
}# for both Y's
|
|
2050
|
+
## lm.influence() did not work correctly for "mlm"s in R <= 3.5.1
|
|
2051
|
+
|
|
2052
|
+
|
|
2053
|
+
## rbind.data.frame with character and ordered columns
|
|
2054
|
+
A <- data.frame(a=1)
|
|
2055
|
+
A$b <- "A"
|
|
2056
|
+
B <- data.frame(a=2)
|
|
2057
|
+
B$b <- "B"
|
|
2058
|
+
AB <- rbind(A,B)
|
|
2059
|
+
(cl <- sapply(AB, class))
|
|
2060
|
+
stopifnot(cl[2] == "character") # was factor in 1.6.2
|
|
2061
|
+
|
|
2062
|
+
A <- data.frame(a=1:3, b=ordered(letters[1:3]))
|
|
2063
|
+
B <- data.frame(a=7:9, b=ordered(letters[7:9]))
|
|
2064
|
+
AB <- rbind(A,B)
|
|
2065
|
+
(cl <- sapply(AB, class))
|
|
2066
|
+
stopifnot(cl$b[1] == "ordered") # was factor in 1.6.2
|
|
2067
|
+
C <- data.frame(a=4:6, b=factor(letters[4:6]))
|
|
2068
|
+
ABC <- rbind(AB, C)
|
|
2069
|
+
(cl <- sapply(ABC, class))
|
|
2070
|
+
stopifnot(cl[2] == "factor")
|
|
2071
|
+
|
|
2072
|
+
A <- data.frame(a=1)
|
|
2073
|
+
A$b <- "A"
|
|
2074
|
+
B <- data.frame(a=2, b=factor("B"))
|
|
2075
|
+
(AB <- rbind(A,B))
|
|
2076
|
+
(cl <- sapply(AB, class))
|
|
2077
|
+
stopifnot(cl[2] == "character")
|
|
2078
|
+
|
|
2079
|
+
A <- data.frame(a=1, b=factor("A"))
|
|
2080
|
+
B <- data.frame(a=2)
|
|
2081
|
+
B$b <- "B"
|
|
2082
|
+
(AB <- rbind(A,B))
|
|
2083
|
+
(cl <- sapply(AB, class))
|
|
2084
|
+
stopifnot(cl[2] == "factor")
|
|
2085
|
+
A <- data.frame(a=factor(c("A", NA, "C")))
|
|
2086
|
+
B <- data.frame(a=factor(c("B", NA, "C")))
|
|
2087
|
+
(AB <- rbind(A,B))
|
|
2088
|
+
stopifnot(levels(AB$a) == c("A", "C", "B"))
|
|
2089
|
+
A <- data.frame(a=I(c("A", NA, "C")))
|
|
2090
|
+
B <- data.frame(a=I(c("B", NA, "C")))
|
|
2091
|
+
(AB <- rbind(A,B))
|
|
2092
|
+
(cl <- sapply(AB, class))
|
|
2093
|
+
stopifnot(cl[1] == "AsIs")
|
|
2094
|
+
|
|
2095
|
+
A <- data.frame(a=1)
|
|
2096
|
+
A$b <- "A"
|
|
2097
|
+
B <- data.frame(a=2, b=I("B"))
|
|
2098
|
+
(AB <- rbind(A,B))
|
|
2099
|
+
(cl <- sapply(AB, class))
|
|
2100
|
+
stopifnot(cl[2] == "character")
|
|
2101
|
+
|
|
2102
|
+
A <- data.frame(a=1, b=factor("A"))
|
|
2103
|
+
B <- data.frame(a=2, b=I("B"))
|
|
2104
|
+
(AB <- rbind(A,B))
|
|
2105
|
+
(cl <- sapply(AB, class))
|
|
2106
|
+
stopifnot(cl[2] == "factor")
|
|
2107
|
+
##
|
|
2108
|
+
|
|
2109
|
+
|
|
2110
|
+
## hclust(), as.hclust.twins(), agnes() consistency
|
|
2111
|
+
x <- matrix(rnorm(30), ncol=3) # no observation names
|
|
2112
|
+
xn <- x; rownames(xn) <- letters[10:1]# has obs. names
|
|
2113
|
+
hc <- hclust(dist(x), method="complete")
|
|
2114
|
+
hcn <- hclust(dist(xn), method="complete")
|
|
2115
|
+
iC1 <- !names(hc) %in% c("labels", "call")
|
|
2116
|
+
stopifnot(identical(hc, hhc <- as.hclust(hc)),
|
|
2117
|
+
identical(hhc, as.hclust(hhc)),
|
|
2118
|
+
identical(hc[iC1], hcn[iC1]),
|
|
2119
|
+
identical(hcn$labels, rownames(xn))
|
|
2120
|
+
)
|
|
2121
|
+
|
|
2122
|
+
if(require(cluster, quietly = TRUE)) { # required package
|
|
2123
|
+
ag <- agnes(x, method="complete")
|
|
2124
|
+
hcag <- as.hclust(ag)
|
|
2125
|
+
agn <- agnes(xn, method="complete")
|
|
2126
|
+
hcagn <- as.hclust(agn)
|
|
2127
|
+
iC2 <- !names(hcag) %in% c("labels", "call")
|
|
2128
|
+
stopifnot(identical(hcagn[iC2], hcag[iC2]),
|
|
2129
|
+
identical(hcagn$labels, hcn$labels),
|
|
2130
|
+
all.equal(hc$height, hcag$height, tol = 1e-12),
|
|
2131
|
+
all(hc$merge == hcag$merge | hc$merge == hcag$merge[ ,2:1])
|
|
2132
|
+
)
|
|
2133
|
+
detach("package:cluster")
|
|
2134
|
+
}
|
|
2135
|
+
## as.hclust.twins() lost labels and more till (incl) 1.6.2
|
|
2136
|
+
|
|
2137
|
+
|
|
2138
|
+
## PR#2867 qr(LAPACK=TRUE) didn't always pivot in 1.7.0
|
|
2139
|
+
set.seed(1)
|
|
2140
|
+
X <- matrix(rnorm(40),10,4)
|
|
2141
|
+
X[,1] <- X[,2]
|
|
2142
|
+
(qrx <- qr(X, LAPACK=TRUE))
|
|
2143
|
+
stopifnot(any(qrx$pivot != 1:4)) # check for pivoting
|
|
2144
|
+
##
|
|
2145
|
+
|
|
2146
|
+
|
|
2147
|
+
## rownames<- did not work on an array with > 2 dims in 1.7.0
|
|
2148
|
+
A <- array(1:12, dim=c(2, 3, 2))
|
|
2149
|
+
rownames(A) <- letters[1:2]
|
|
2150
|
+
A <- array(1:12, dim=c(2, 3, 2))
|
|
2151
|
+
colnames(A) <- 1:3
|
|
2152
|
+
## failed in 1.7.0
|
|
2153
|
+
|
|
2154
|
+
|
|
2155
|
+
## predict on constant model, PR#2958
|
|
2156
|
+
res <- model.frame(~1, data.frame(x = 1:5))
|
|
2157
|
+
stopifnot(nrow(res) == 5)
|
|
2158
|
+
res <- predict(lm(y ~ 1, data = data.frame(y = rep(0:3, c(5,9,7,1)))),
|
|
2159
|
+
newdata = data.frame(x = 1:5))
|
|
2160
|
+
stopifnot(length(res) == 5)
|
|
2161
|
+
res <- predict(glm(y ~ 1, family = poisson,
|
|
2162
|
+
data = data.frame(y = rep(0:3, c(5,9,7,1)))),
|
|
2163
|
+
newdata = data.frame(x = 1:5), type = "r")
|
|
2164
|
+
stopifnot(length(res) == 5)
|
|
2165
|
+
## all length one in 1.7.0
|
|
2166
|
+
|
|
2167
|
+
|
|
2168
|
+
## PR#2993 need to consider delta=NULL in power.t.test{ctest}
|
|
2169
|
+
power.t.test(n=10, delta=NULL, power=.9, alternative="two.sided")
|
|
2170
|
+
## failed in 1.7.0
|
|
2171
|
+
|
|
2172
|
+
|
|
2173
|
+
## PR#3221 eigenvectors should be a matrix even in the 1x1 case
|
|
2174
|
+
A <- matrix(1)
|
|
2175
|
+
stopifnot(is.matrix(eigen(A)$vectors))
|
|
2176
|
+
## gave vector in 1.7.0
|
|
2177
|
+
|
|
2178
|
+
|
|
2179
|
+
## [[<-.data.frame
|
|
2180
|
+
testdata <- data.frame(a=1:2, b = c(TRUE, NA))
|
|
2181
|
+
td <- strptime(c("31121991", "31121992"), "%d%m%Y")
|
|
2182
|
+
testdata[["a"]] <- td
|
|
2183
|
+
if(FALSE)
|
|
2184
|
+
stopifnot(inherits(.Last.value, "try-error"))
|
|
2185
|
+
## succeeded in 1.7.0 and again in 2.11.x {should it not?}
|
|
2186
|
+
|
|
2187
|
+
|
|
2188
|
+
## pacf on n x 1 matrix: Paul Gilbert, R-devel, 2003-06-18
|
|
2189
|
+
z <- as.ts(matrix(rnorm(100), , 1))
|
|
2190
|
+
class(z) # not "mts"
|
|
2191
|
+
is.matrix(z) # TRUE in 1.7.1
|
|
2192
|
+
pacf(z)
|
|
2193
|
+
pacf(matrix(rnorm(100), , 1))
|
|
2194
|
+
## both failed in 1.7.1.
|
|
2195
|
+
|
|
2196
|
+
|
|
2197
|
+
## lsfit was not setting residuals in the rank=0 case
|
|
2198
|
+
fit <- lsfit(matrix(0, 10, 1), 1:10, intercept=FALSE)
|
|
2199
|
+
stopifnot(fit$residuals == 1:10)
|
|
2200
|
+
## zero residuals in 1.7.1.
|
|
2201
|
+
|
|
2202
|
+
|
|
2203
|
+
## interval calculations on predict.lm
|
|
2204
|
+
x <- 1:10
|
|
2205
|
+
y <- rnorm(10)
|
|
2206
|
+
predict(lm(y ~ x), type="terms", interval="confidence")
|
|
2207
|
+
##
|
|
2208
|
+
|
|
2209
|
+
|
|
2210
|
+
## 0-level factors
|
|
2211
|
+
f <- factor(numeric(0))
|
|
2212
|
+
sort(f)
|
|
2213
|
+
unique(f)
|
|
2214
|
+
## both failed in 1.7.1
|
|
2215
|
+
|
|
2216
|
+
|
|
2217
|
+
## data failed with some multiple inputs
|
|
2218
|
+
data(cars, women)
|
|
2219
|
+
## failed in 1.7.1
|
|
2220
|
+
|
|
2221
|
+
|
|
2222
|
+
## body() and formals() looked in different places
|
|
2223
|
+
bar <- function(x=NULL)
|
|
2224
|
+
{
|
|
2225
|
+
foo <- function(y=3) testit()
|
|
2226
|
+
print(formals("foo"))
|
|
2227
|
+
print(body("foo"))
|
|
2228
|
+
}
|
|
2229
|
+
bar()
|
|
2230
|
+
## the call to body() failed in 1.7.0
|
|
2231
|
+
|
|
2232
|
+
|
|
2233
|
+
## string NAs shouldn't have any internal structure.(PR#3078)
|
|
2234
|
+
a <- c("NA", NA, "BANANA")
|
|
2235
|
+
na <- NA_character_
|
|
2236
|
+
a1 <- substr(a,1,1)
|
|
2237
|
+
stopifnot(is.na(a1)==is.na(a))
|
|
2238
|
+
a2 <- substring(a,1,1)
|
|
2239
|
+
stopifnot(is.na(a2)==is.na(a))
|
|
2240
|
+
a3 <- sub("NA","na",a)
|
|
2241
|
+
stopifnot(is.na(a3)==is.na(a))
|
|
2242
|
+
a3 <- gsub("NA","na",a)
|
|
2243
|
+
stopifnot(is.na(a3)==is.na(a))
|
|
2244
|
+
substr(a3, 1, 2) <- "na"
|
|
2245
|
+
stopifnot(is.na(a3)==is.na(a))
|
|
2246
|
+
substr(a3, 1, 2) <- na
|
|
2247
|
+
stopifnot(all(is.na(a3)))
|
|
2248
|
+
stopifnot(agrep("NA", a) == c(1, 3))
|
|
2249
|
+
stopifnot(grep("NA", a) == c(1, 3))
|
|
2250
|
+
stopifnot(grep("NA", a, perl=TRUE) == c(1, 3))
|
|
2251
|
+
stopifnot(all(is.na(agrep(na, a))))
|
|
2252
|
+
stopifnot(all(is.na(grep(na, a))))
|
|
2253
|
+
stopifnot(all(is.na(grep(na, a, perl=TRUE))))
|
|
2254
|
+
a4 <- abbreviate(a)
|
|
2255
|
+
stopifnot(is.na(a4) == is.na(a))
|
|
2256
|
+
a5 <- chartr("NA", "na", a)
|
|
2257
|
+
stopifnot(is.na(a5) == is.na(a))
|
|
2258
|
+
a6 <- gsub(na, "na", a)
|
|
2259
|
+
stopifnot(all(is.na(a6)))
|
|
2260
|
+
a6a <- gsub("NANA", na, a)
|
|
2261
|
+
stopifnot(is.na(a6a)==c(FALSE, TRUE, TRUE))
|
|
2262
|
+
a7 <- a; substr(a7, 1, 2) <- "na"
|
|
2263
|
+
stopifnot(is.na(a7) == is.na(a))
|
|
2264
|
+
a8 <- a; substr(a8, 1, 2) <- na
|
|
2265
|
+
stopifnot(all(is.na(a8)))
|
|
2266
|
+
stopifnot(identical(a, toupper(tolower(a))))
|
|
2267
|
+
a9 <- strsplit(a, "NA")
|
|
2268
|
+
stopifnot(identical(a9, list("", na ,c("BA",""))))
|
|
2269
|
+
a9 <- strsplit(a, "NA", fixed = TRUE)
|
|
2270
|
+
stopifnot(identical(a9, list("", na ,c("BA",""))))
|
|
2271
|
+
a9 <- strsplit(a, "NA", perl = TRUE)
|
|
2272
|
+
stopifnot(identical(a9, list("", na ,c("BA",""))))
|
|
2273
|
+
a10 <- strsplit(a, na)
|
|
2274
|
+
stopifnot(identical(a10, as.list(a)))
|
|
2275
|
+
## nchar() differs a bit
|
|
2276
|
+
stopifnot(identical(is.na(a), is.na(nchar(a))),
|
|
2277
|
+
all(!is.na(nchar(a, type = "width"))))
|
|
2278
|
+
## NA and "NA" were not distinguished in 1.7.x
|
|
2279
|
+
|
|
2280
|
+
|
|
2281
|
+
## coercing 0-length generic vectors
|
|
2282
|
+
as.double(list())
|
|
2283
|
+
as.integer(list())
|
|
2284
|
+
as.logical(list())
|
|
2285
|
+
as.complex(list())
|
|
2286
|
+
as.character(list())
|
|
2287
|
+
## all but the last failed in 1.7.x
|
|
2288
|
+
|
|
2289
|
+
|
|
2290
|
+
## help on reserved words
|
|
2291
|
+
## if else repeat while function for in next break will fail
|
|
2292
|
+
if(.Platform$OS.type == "windows") options(pager="console")
|
|
2293
|
+
for(topic in c("TRUE", "FALSE", "NULL", "NA", "Inf", "NaN",
|
|
2294
|
+
"NA_integer_", "NA_real_", "NA_complex_", "NA_character_")) {
|
|
2295
|
+
eval(parse(text=paste("?", topic, sep="")))
|
|
2296
|
+
eval(parse(text=paste("help(", topic, ")", sep="")))
|
|
2297
|
+
}
|
|
2298
|
+
## ?NULL and all the help calls fail in 1.7.x
|
|
2299
|
+
|
|
2300
|
+
|
|
2301
|
+
## row names in data frames
|
|
2302
|
+
xx <- structure(1:3, names=letters[1:3])
|
|
2303
|
+
data.frame(xx)
|
|
2304
|
+
data.frame(xx, yy=1:6) # failed with misleading message in 1.7.x
|
|
2305
|
+
data.frame(xx, yy=1:6, row.names=NULL) # no warning
|
|
2306
|
+
##
|
|
2307
|
+
|
|
2308
|
+
|
|
2309
|
+
## empty paste
|
|
2310
|
+
stopifnot(length(paste(character(0), character(0))) == 0) # was ""
|
|
2311
|
+
stopifnot(identical(paste(character(0), character(0), collapse="+"), ""))
|
|
2312
|
+
##
|
|
2313
|
+
|
|
2314
|
+
|
|
2315
|
+
## concatenation of make.names (Tom Minka, R-help, 2003-06-17)
|
|
2316
|
+
a1 <- make.names(c("a", "a", "a"), unique=TRUE)
|
|
2317
|
+
a2 <- make.names(c(make.names(c("a", "a"), unique=TRUE), "a"), unique=TRUE)
|
|
2318
|
+
stopifnot(identical(a1, a2))
|
|
2319
|
+
|
|
2320
|
+
df1 <- rbind(data.frame(x=1), data.frame(x=2), data.frame(x=3))
|
|
2321
|
+
df2 <- rbind(rbind(data.frame(x=1), data.frame(x=2)), data.frame(x=3))
|
|
2322
|
+
stopifnot(identical(df1, df2))
|
|
2323
|
+
##
|
|
2324
|
+
|
|
2325
|
+
|
|
2326
|
+
## PR#3280 data.frame(check.name=FALSE) was not always respected
|
|
2327
|
+
DF <- data.frame(list("a*" = 3), check.names = FALSE)
|
|
2328
|
+
stopifnot(identical(names(DF), "a*"))
|
|
2329
|
+
## gave "a." in 1.7.1
|
|
2330
|
+
|
|
2331
|
+
|
|
2332
|
+
## functions using get() were not always looking for functions or in the
|
|
2333
|
+
## right place
|
|
2334
|
+
x <- factor(1:3)
|
|
2335
|
+
contrasts(x) <- "ctr"
|
|
2336
|
+
test <- function(x)
|
|
2337
|
+
{
|
|
2338
|
+
ctr <- contr.treatment
|
|
2339
|
+
contrasts(x) # failed in 1.7.1
|
|
2340
|
+
}
|
|
2341
|
+
test(x)
|
|
2342
|
+
##
|
|
2343
|
+
|
|
2344
|
+
## get/exists were ignoring mode in base
|
|
2345
|
+
stopifnot(exists(".Device"))
|
|
2346
|
+
stopifnot(!exists(".Device", mode="function")) # was true in 1.7.1
|
|
2347
|
+
##
|
|
2348
|
+
|
|
2349
|
+
|
|
2350
|
+
## inadvertent recursive indexing bug (PR#3324)
|
|
2351
|
+
x <- list(a=1:3, b=2:4)
|
|
2352
|
+
try(x[[c("c", "d")]])
|
|
2353
|
+
try(x[[c("c", "d")]] <- NA)
|
|
2354
|
+
## both segfaulted in 1.7.1
|
|
2355
|
+
|
|
2356
|
+
|
|
2357
|
+
## empty indexing of data frames (PR#3532)
|
|
2358
|
+
x <- data.frame(x = "1.5")
|
|
2359
|
+
num <- numeric(0)
|
|
2360
|
+
x[num] <- list()
|
|
2361
|
+
x[, num] <- list()
|
|
2362
|
+
## x[[num]] is rightly an error
|
|
2363
|
+
## x[num] etc failed in 1.7.x.
|
|
2364
|
+
|
|
2365
|
+
|
|
2366
|
+
## .Random.seed was searched for with inherits=TRUE
|
|
2367
|
+
rm(.Random.seed)
|
|
2368
|
+
attach(list(.Random.seed=c(0:4)))
|
|
2369
|
+
x <- runif(1)
|
|
2370
|
+
detach(2)
|
|
2371
|
+
(new <- RNGkind())
|
|
2372
|
+
stopifnot(identical(new, c("Mersenne-Twister", "Inversion", "Rejection")))
|
|
2373
|
+
stopifnot(identical(find(".Random.seed"), ".GlobalEnv"))
|
|
2374
|
+
## took from and assigned to list in 1.7.x.
|
|
2375
|
+
|
|
2376
|
+
|
|
2377
|
+
## PR#3750
|
|
2378
|
+
y <- c(1, NA, NA, 7)
|
|
2379
|
+
identical(y, qqnorm(y, plot.it=FALSE)$y)
|
|
2380
|
+
## qqnorm() used to drop NA's in its result till 1.7.x
|
|
2381
|
+
|
|
2382
|
+
|
|
2383
|
+
## PR#3763
|
|
2384
|
+
d0 <- ISOdate(2001,1,1)[0] # length 0 POSIX
|
|
2385
|
+
(rd0 <- round(d0, "day"))
|
|
2386
|
+
stopifnot(identical(rd0, as.POSIXlt(d0)))
|
|
2387
|
+
## 2nd line gave floating point exception (in format(*)!)
|
|
2388
|
+
|
|
2389
|
+
|
|
2390
|
+
## New det() function
|
|
2391
|
+
m <- cbind(1, c(1, 1))
|
|
2392
|
+
stopifnot(det(m) == 0, determinant(m)$mod == -Inf,
|
|
2393
|
+
determinant(m, log=FALSE)$mod == 0)
|
|
2394
|
+
## gave error for singular matrices in earlier Aug.2003
|
|
2395
|
+
|
|
2396
|
+
|
|
2397
|
+
## tests of model fitting in the presence of non-syntactic names
|
|
2398
|
+
names(swiss)[6] <- "Infant Mortality"
|
|
2399
|
+
(lm1 <- lm(Fertility ~ ., data = swiss))
|
|
2400
|
+
formula(lm1) # is expanded out
|
|
2401
|
+
slm1 <- step(lm1)
|
|
2402
|
+
add1(lm1, ~ I(Education^2) + .^2)
|
|
2403
|
+
step(lm1, scope=~ I(Education^2) + .^2)
|
|
2404
|
+
|
|
2405
|
+
Quine <-
|
|
2406
|
+
structure(list(Eth = factor(c(1L, 1L, 1L, 1L, 1L, 1L, 1L,
|
|
2407
|
+
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
|
|
2408
|
+
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
|
|
2409
|
+
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
|
|
2410
|
+
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L,
|
|
2411
|
+
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
|
|
2412
|
+
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
|
|
2413
|
+
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
|
|
2414
|
+
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
|
|
2415
|
+
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), levels = 1:2,
|
|
2416
|
+
labels = c("A", "N")),
|
|
2417
|
+
Sex = factor(c(2L, 2L, 2L, 2L, 2L,
|
|
2418
|
+
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
|
|
2419
|
+
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L,
|
|
2420
|
+
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
|
|
2421
|
+
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
|
|
2422
|
+
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
|
|
2423
|
+
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
|
|
2424
|
+
2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
|
|
2425
|
+
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
|
|
2426
|
+
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), levels = 1:2,
|
|
2427
|
+
labels = c("F", "M")),
|
|
2428
|
+
Age = factor(c(1L, 1L, 1L, 1L, 1L,
|
|
2429
|
+
1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
|
|
2430
|
+
3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 1L, 1L, 1L, 1L, 1L, 2L,
|
|
2431
|
+
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L,
|
|
2432
|
+
3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
|
|
2433
|
+
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
|
|
2434
|
+
2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L,
|
|
2435
|
+
4L, 4L, 4L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
|
|
2436
|
+
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
|
|
2437
|
+
3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L), levels = 1:4,
|
|
2438
|
+
labels = c("F0", "F1", "F2", "F3")),
|
|
2439
|
+
`Slow or fast` = factor(c(2L,
|
|
2440
|
+
2L, 2L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 2L,
|
|
2441
|
+
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L,
|
|
2442
|
+
1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L,
|
|
2443
|
+
1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L,
|
|
2444
|
+
1L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L,
|
|
2445
|
+
2L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
|
|
2446
|
+
1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L,
|
|
2447
|
+
2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L,
|
|
2448
|
+
2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
|
|
2449
|
+
1L), levels = 1:2, labels = c("AL", "SL")),
|
|
2450
|
+
Days = c(2, 11,
|
|
2451
|
+
14, 5, 5, 13, 20, 22, 6, 6, 15, 7, 14, 6, 32, 53, 57, 14, 16,
|
|
2452
|
+
16, 17, 40, 43, 46, 8, 23, 23, 28, 34, 36, 38, 3, 5, 11, 24,
|
|
2453
|
+
45, 5, 6, 6, 9, 13, 23, 25, 32, 53, 54, 5, 5, 11, 17, 19, 8,
|
|
2454
|
+
13, 14, 20, 47, 48, 60, 81, 2, 0, 2, 3, 5, 10, 14, 21, 36, 40,
|
|
2455
|
+
6, 17, 67, 0, 0, 2, 7, 11, 12, 0, 0, 5, 5, 5, 11, 17, 3, 4, 22,
|
|
2456
|
+
30, 36, 8, 0, 1, 5, 7, 16, 27, 0, 30, 10, 14, 27, 41, 69, 25,
|
|
2457
|
+
10, 11, 20, 33, 5, 7, 0, 1, 5, 5, 5, 5, 7, 11, 15, 5, 14, 6,
|
|
2458
|
+
6, 7, 28, 0, 5, 14, 2, 2, 3, 8, 10, 12, 1, 1, 9, 22, 3, 3, 5,
|
|
2459
|
+
15, 18, 22, 37)),
|
|
2460
|
+
class = "data.frame", row.names = 1:146)
|
|
2461
|
+
step(aov(log(Days+2.5) ~ .^4, data=Quine))
|
|
2462
|
+
set.seed(11)
|
|
2463
|
+
DF <- data.frame(y=rnorm(21), `x 1`=-10:10., check.names = FALSE)
|
|
2464
|
+
lm(y ~ ., data = DF)
|
|
2465
|
+
(fm <- lm(y ~ `x 1` + I(`x 1`^2), data = DF))
|
|
2466
|
+
step(fm)
|
|
2467
|
+
|
|
2468
|
+
N <- c(0,1,0,1,1,1,0,0,0,1,1,0,1,1,0,0,1,0,1,0,1,1,0,0)
|
|
2469
|
+
P <- c(1,1,0,0,0,1,0,1,1,1,0,0,0,1,0,1,1,0,0,1,0,1,1,0)
|
|
2470
|
+
K <- c(1,0,0,1,0,1,1,0,0,1,0,1,0,1,1,0,0,0,1,1,1,0,1,0)
|
|
2471
|
+
yield <- c(49.5,62.8,46.8,57.0,59.8,58.5,55.5,56.0,62.8,55.8,69.5,55.0,
|
|
2472
|
+
62.0,48.8,45.5,44.2,52.0,51.5,49.8,48.8,57.2,59.0,53.2,56.0)
|
|
2473
|
+
npk <- data.frame(`block no`=gl(6,4), N=factor(N), P=factor(P),
|
|
2474
|
+
K=factor(K), yield=yield, check.names=FALSE)
|
|
2475
|
+
op <- options(contrasts=c("contr.helmert", "contr.treatment"))
|
|
2476
|
+
(npk.aovE <- aov(yield ~ N*P*K + Error(`block no`), npk))
|
|
2477
|
+
summary(npk.aovE)
|
|
2478
|
+
model.tables(npk.aovE)
|
|
2479
|
+
model.tables(npk.aovE, "means")
|
|
2480
|
+
options(op)# reset to previous
|
|
2481
|
+
## Didn't work before 1.8.0
|
|
2482
|
+
|
|
2483
|
+
|
|
2484
|
+
## cmdscale
|
|
2485
|
+
## failed in versions <= 1.4.0 :
|
|
2486
|
+
cm1 <- cmdscale(eurodist, k=1, add=TRUE, x.ret = TRUE)
|
|
2487
|
+
cmdsE <- cmdscale(eurodist, k=20, add = TRUE, eig = TRUE, x.ret = TRUE)
|
|
2488
|
+
# FAILED on Debian testing just prior to 1.9.0!
|
|
2489
|
+
#stopifnot(identical(cm1$x, cmdsE$x),
|
|
2490
|
+
# identical(cm1$ac, cmdsE$ac))
|
|
2491
|
+
stopifnot(all.equal(cm1$x, cmdsE$x),
|
|
2492
|
+
all.equal(cm1$ac, cmdsE$ac))
|
|
2493
|
+
## end of moved from cmdscale.Rd
|
|
2494
|
+
|
|
2495
|
+
|
|
2496
|
+
## cutree
|
|
2497
|
+
hc <- hclust(dist(USArrests))
|
|
2498
|
+
ct <- cutree(hc, h = c(0, hc$height[c(1,49)], 1000))
|
|
2499
|
+
stopifnot(ct[,"0"]== 1:50,
|
|
2500
|
+
unique(ct[,2]) == 1:49,
|
|
2501
|
+
ct[,3] == ct[,4],
|
|
2502
|
+
ct[,4] == 1)
|
|
2503
|
+
## end of moved from cutree.Rd
|
|
2504
|
+
|
|
2505
|
+
|
|
2506
|
+
## princomp
|
|
2507
|
+
USArrests[1, 2] <- NA
|
|
2508
|
+
pc.cr <- princomp(~ Murder + Assault + UrbanPop,
|
|
2509
|
+
data = USArrests, na.action=na.exclude, cor = TRUE)
|
|
2510
|
+
update(pc.cr, ~ . + Rape)
|
|
2511
|
+
## end of moved from princomp.Rd
|
|
2512
|
+
|
|
2513
|
+
|
|
2514
|
+
## arima{0}
|
|
2515
|
+
(fit <- arima(lh, c(1,0,0)))
|
|
2516
|
+
tsdiag(fit)
|
|
2517
|
+
(fit <- arima0(lh, c(1,0,0)))
|
|
2518
|
+
tsdiag(fit)
|
|
2519
|
+
## end of moved from arima{0}.Rd
|
|
2520
|
+
|
|
2521
|
+
|
|
2522
|
+
## predict.arima
|
|
2523
|
+
predict(arima(lh, order=c(1,0,1)), n.ahead=5)
|
|
2524
|
+
predict(arima(lh, order=c(1,1,0)), n.ahead=5)
|
|
2525
|
+
predict(arima(lh, order=c(0,2,1)), n.ahead=5)
|
|
2526
|
+
## end of moved from predict.arima.Rd
|
|
2527
|
+
|
|
2528
|
+
|
|
2529
|
+
library(splines)
|
|
2530
|
+
## ns
|
|
2531
|
+
## Consistency:
|
|
2532
|
+
x <- c(1:3,5:6)
|
|
2533
|
+
stopifnot(identical(ns(x), ns(x, df = 1)),
|
|
2534
|
+
!is.null(kk <- attr(ns(x), "knots")),# not true till 1.5.1
|
|
2535
|
+
length(kk) == 0)
|
|
2536
|
+
## end of moved from ns.Rd
|
|
2537
|
+
|
|
2538
|
+
|
|
2539
|
+
## predict.bs
|
|
2540
|
+
## Consistency:
|
|
2541
|
+
basis <- ns(women$height, df = 5)
|
|
2542
|
+
newX <- seq(58, 72, len = 51)
|
|
2543
|
+
wh <- women$height
|
|
2544
|
+
bbase <- bs(wh)
|
|
2545
|
+
nbase <- ns(wh)
|
|
2546
|
+
stopifnot(identical(predict(basis), predict(basis, newx=wh)),
|
|
2547
|
+
identical(predict(bbase), predict(bbase, newx=wh)),
|
|
2548
|
+
identical(predict(nbase), predict(nbase, newx=wh)))
|
|
2549
|
+
## end of moved from predict.bs.Rd
|
|
2550
|
+
|
|
2551
|
+
|
|
2552
|
+
## internal coerceVector() was too lenient
|
|
2553
|
+
plot(1)
|
|
2554
|
+
r <- try(strwidth(plot))## Error: cannot coerce
|
|
2555
|
+
stopifnot(inherits(r, "try-error"),
|
|
2556
|
+
grep("cannot coerce", r) == 1)
|
|
2557
|
+
## gave seg.fault or memory allocation error before 1.8.0
|
|
2558
|
+
|
|
2559
|
+
|
|
2560
|
+
## rank sometimes kept and sometimes dropped names
|
|
2561
|
+
x2 <- c(3, 1, 4, 1, 5, NA, 9, 2, 6, 5, 3, 5)
|
|
2562
|
+
names(x2) <- letters[1:12]
|
|
2563
|
+
(y1 <- rank(x2))
|
|
2564
|
+
(y2 <- rank(x2, na.last=FALSE))
|
|
2565
|
+
(y3 <- rank(x2, na.last=NA))
|
|
2566
|
+
(y4 <- rank(x2, na.last="keep"))
|
|
2567
|
+
stopifnot(identical(names(y1), names(x2)),
|
|
2568
|
+
identical(names(y2), names(x2)),
|
|
2569
|
+
identical(names(y4), names(x2)),
|
|
2570
|
+
identical(names(y3), names(x2)[-6]))
|
|
2571
|
+
##
|
|
2572
|
+
|
|
2573
|
+
## as.dist(x) only obeyed `diag=TRUE' or `upper=TRUE' when x was "dist" already
|
|
2574
|
+
m <- as.matrix(dist(matrix(rnorm(100), nrow=5)))
|
|
2575
|
+
stopifnot(identical(TRUE, attr(as.dist(m, diag=TRUE), "Diag")))
|
|
2576
|
+
## failed previous to 1.8.0
|
|
2577
|
+
|
|
2578
|
+
stopifnot(1:2 == ave(1:2,factor(2:3,levels=1:3)))
|
|
2579
|
+
## gave "2 NA" previous to 1.8.0, because unused levels weren't dropped
|
|
2580
|
+
|
|
2581
|
+
|
|
2582
|
+
## PR#4092: arrays with length(dim(.)) = 1
|
|
2583
|
+
z <- array(c(-2:1, 1.4),5)
|
|
2584
|
+
cz <- crossprod(as.vector(z))
|
|
2585
|
+
dimnames(z) <- list(letters[1:5])
|
|
2586
|
+
z0 <- z
|
|
2587
|
+
names(dimnames(z)) <- "D1"
|
|
2588
|
+
stopifnot(crossprod(z) == cz,# the first has NULL dimnames
|
|
2589
|
+
identical(crossprod(z), crossprod(z0)),
|
|
2590
|
+
identical(crossprod(z), crossprod(z,z0)))
|
|
2591
|
+
## crossprod(z) segfaulted (or gave silly error message) before 1.8.0
|
|
2592
|
+
|
|
2593
|
+
|
|
2594
|
+
## PR#4431
|
|
2595
|
+
stopifnot(!is.na(rmultinom(12,100, c(3, 4, 2, 0,0))))
|
|
2596
|
+
## 3rd line was all NA before 1.8.0
|
|
2597
|
+
|
|
2598
|
+
|
|
2599
|
+
## PR#4275: getAnywhere with extra "."
|
|
2600
|
+
g0 <- getAnywhere("predict.loess")
|
|
2601
|
+
g1 <- getAnywhere("as.dendrogram.hclust")
|
|
2602
|
+
g2 <- getAnywhere("predict.smooth.spline")
|
|
2603
|
+
g3 <- getAnywhere("print.data.frame")
|
|
2604
|
+
is.S3meth <- function(ga) any(substr(ga$where, 1,20) == "registered S3 method")
|
|
2605
|
+
stopifnot(is.S3meth(g0), is.S3meth(g1),
|
|
2606
|
+
is.S3meth(g2), is.S3meth(g3))
|
|
2607
|
+
## all but g0 failed until 1.8.0 (Oct 6)
|
|
2608
|
+
|
|
2609
|
+
|
|
2610
|
+
## symnum(x) for length 0 and some logical arrays:
|
|
2611
|
+
sm <- symnum(m <- matrix(1:8 %% 3 == 0, 2))
|
|
2612
|
+
stopifnot(identical(symnum(FALSE[FALSE]), noquote(""[FALSE])),
|
|
2613
|
+
identical(symnum(c(m)), c(symnum(m))),
|
|
2614
|
+
dim(sm) == dim(m), class(sm) == "noquote")
|
|
2615
|
+
## symnum(<length 0>) gave noquote("()") before 1.8.1
|
|
2616
|
+
|
|
2617
|
+
|
|
2618
|
+
## abbreviate with leading (or trailing) space differences (PR#4564)
|
|
2619
|
+
abbreviate(c("A"," A"), 4)
|
|
2620
|
+
## this gave infinite loop before 1.8.1
|
|
2621
|
+
|
|
2622
|
+
|
|
2623
|
+
## crossprod on 0-extent matrices
|
|
2624
|
+
a <- matrix(,0,5)
|
|
2625
|
+
stopifnot(crossprod(a) == 0)
|
|
2626
|
+
stopifnot(crossprod(a,a) == 0)
|
|
2627
|
+
stopifnot(crossprod(a+0i) == 0+0i)
|
|
2628
|
+
## were random areas in <= 1.8.0
|
|
2629
|
+
|
|
2630
|
+
|
|
2631
|
+
## DF[[i, j]] should be row i, col j
|
|
2632
|
+
stopifnot(women[[2, 1]] == women[2, 1])
|
|
2633
|
+
women[[2, 1]] <- 77
|
|
2634
|
+
stopifnot(women[2, 1] == 77)
|
|
2635
|
+
## was reversed from May 2002 to Oct 2003
|
|
2636
|
+
|
|
2637
|
+
|
|
2638
|
+
## merge.data.frame with a single-column df (PR#4299)
|
|
2639
|
+
x <- data.frame(x = 1:5, y = letters[1:5])
|
|
2640
|
+
y <- data.frame(z = 1:2)
|
|
2641
|
+
z <- merge(x, y)
|
|
2642
|
+
stopifnot(identical(names(z), c("x", "y", "z")))
|
|
2643
|
+
## third name was wrong in 1.8.0
|
|
2644
|
+
|
|
2645
|
+
|
|
2646
|
+
## cor(mat, use = "pair") was plainly wrong
|
|
2647
|
+
# longley has no NA's -- hence all "use = " should give the same!
|
|
2648
|
+
X <- longley
|
|
2649
|
+
ep <- 32 * Meps
|
|
2650
|
+
for(meth in eval(formals(cor)$method)) {
|
|
2651
|
+
cat("method = ", meth,"\n")
|
|
2652
|
+
Cl <- cor(X, method = meth)
|
|
2653
|
+
stopifnot(all.equal(Cl, cor(X, method= meth, use= "complete"), tol=ep),
|
|
2654
|
+
all.equal(Cl, cor(X, method= meth, use= "pairwise"), tol=ep),
|
|
2655
|
+
all.equal(Cl, cor(X, X, method= meth), tol=ep),
|
|
2656
|
+
all.equal(Cl, cor(X, X, method= meth, use= "pairwise"), tol=ep),
|
|
2657
|
+
all.equal(Cl, cor(X, X, method= meth, use= "pairwise"), tol=ep)
|
|
2658
|
+
)
|
|
2659
|
+
}
|
|
2660
|
+
## "pairwise" failed in 1.8.0
|
|
2661
|
+
|
|
2662
|
+
|
|
2663
|
+
## regexpr(*, fixed=TRUE) had 0-index from C
|
|
2664
|
+
txt <- c("english", "french", "swiss")
|
|
2665
|
+
ir <- regexpr("en", txt, fixed = TRUE)
|
|
2666
|
+
stopifnot(ir == c(1, 3, -1),
|
|
2667
|
+
identical(ir, regexpr("en", txt)))
|
|
2668
|
+
## (*, fixed=TRUE) gave 0 2 -1 before R 1.8.1
|
|
2669
|
+
|
|
2670
|
+
|
|
2671
|
+
## PR#5017: filter(init=) had the wrong time order
|
|
2672
|
+
xx <- filter(4:8, c(1, 0.5, 0.25), method="recursive", init=3:1)
|
|
2673
|
+
stopifnot(identical(xx[1:3], c(8.25, 15.25, 26.125)))
|
|
2674
|
+
## 1.8.0 gave 6.75 12.75 22.375
|
|
2675
|
+
|
|
2676
|
+
|
|
2677
|
+
## PR#5090 user error with writeChar could segfault
|
|
2678
|
+
tf <- tempfile()
|
|
2679
|
+
zz <- file(tf, "wb")
|
|
2680
|
+
writeChar("", zz, nchars=10000000)
|
|
2681
|
+
close(zz)
|
|
2682
|
+
unlink(tf)
|
|
2683
|
+
## segfaults in 1.8.0
|
|
2684
|
+
|
|
2685
|
+
|
|
2686
|
+
## PR#4710 round (and signif) dropped attributes
|
|
2687
|
+
x <- round(matrix(0, 0, 3))
|
|
2688
|
+
stopifnot(identical(dim(x), as.integer(c(0, 3))))
|
|
2689
|
+
## numeric(0) in 1.8.0
|
|
2690
|
+
|
|
2691
|
+
|
|
2692
|
+
## PR#5405
|
|
2693
|
+
try(stepfun(c(), 1)(2))# > Error
|
|
2694
|
+
## segfaults in 1.8.1 and earlier
|
|
2695
|
+
|
|
2696
|
+
|
|
2697
|
+
## PR#4955 now allow embedded newlines in quoted fields in read.table
|
|
2698
|
+
temp <- tempfile()
|
|
2699
|
+
data <- data.frame(a=c("c", "e\nnewline"))
|
|
2700
|
+
write.table(data, sep=",", row.names=FALSE, file=temp)
|
|
2701
|
+
data2 <- read.csv(temp)
|
|
2702
|
+
unlink(temp)
|
|
2703
|
+
# attributes get a different order here
|
|
2704
|
+
stopifnot(identical(data$a, data2$a))
|
|
2705
|
+
## not allowed prior to 1.9.0
|
|
2706
|
+
|
|
2707
|
+
|
|
2708
|
+
## scoping problems with model.frame methods
|
|
2709
|
+
foo <- c(1,1,0,0,1,1)
|
|
2710
|
+
rep <- 1:6
|
|
2711
|
+
m <- lm(foo ~ rep, model=FALSE)
|
|
2712
|
+
model.matrix(m)
|
|
2713
|
+
n <- 1:6
|
|
2714
|
+
m <- lm(foo ~ n, model=FALSE)
|
|
2715
|
+
model.matrix(m)
|
|
2716
|
+
## failed in 1.8.0 because the wrong n or rep was found.
|
|
2717
|
+
rm(foo, rep)
|
|
2718
|
+
func <- function()
|
|
2719
|
+
{
|
|
2720
|
+
foo <- c(1,1,0,0,1,1)
|
|
2721
|
+
rep <- 1:6
|
|
2722
|
+
m <- lm(foo ~ rep, model=FALSE)
|
|
2723
|
+
model.matrix(m)
|
|
2724
|
+
}
|
|
2725
|
+
func()
|
|
2726
|
+
##
|
|
2727
|
+
|
|
2728
|
+
|
|
2729
|
+
## broken strptime in glibc (and code used on Windows)
|
|
2730
|
+
# the spec says %d is allowed in 1-31, but it seems HP-UX thinks
|
|
2731
|
+
# the date is invalid.
|
|
2732
|
+
# stopifnot(!is.na(strptime("2003-02-30", format="%Y-%m-%d")))
|
|
2733
|
+
stopifnot(is.na(strptime("2003-02-35", format="%Y-%m-%d")))
|
|
2734
|
+
# this one is still wrong in glibc
|
|
2735
|
+
stopifnot(is.na(strptime("2003-02-40", format="%Y-%m-%d")))
|
|
2736
|
+
stopifnot(is.na(strptime("2003-22-20", format="%Y-%m-%d")))
|
|
2737
|
+
# and so is this one
|
|
2738
|
+
stopifnot(is.na(strptime("2003 22 20", format="%Y %m %d")))
|
|
2739
|
+
stopifnot(is.na(ISOdate(year=2003, month=22, day=20)))
|
|
2740
|
+
## several after the first gave non-NA values in 1.8.1 on some broken OSes
|
|
2741
|
+
|
|
2742
|
+
|
|
2743
|
+
## PR#4688
|
|
2744
|
+
reli <- cbind(Si = c(2121, 100, 27, 0),
|
|
2745
|
+
av = c(4700, 216, 67, 0),
|
|
2746
|
+
Nc = c(6234,2461,502,14))
|
|
2747
|
+
stopifnot(inherits(try(fisher.test(reli, workspace=2000000)), "try-error"))
|
|
2748
|
+
## gave p.value = Inf ; now gives FEXACT error 501
|
|
2749
|
+
|
|
2750
|
+
|
|
2751
|
+
## PR#5701
|
|
2752
|
+
chisq.test(matrix(23171,2,2), simulate=TRUE)
|
|
2753
|
+
## gave infinite loop in 1.8.1 and earlier
|
|
2754
|
+
|
|
2755
|
+
|
|
2756
|
+
## as.matrix on an all-logical data frame
|
|
2757
|
+
ll <- data.frame(a = rpois(10,1) > 0, b = rpois(10,1) > 0)
|
|
2758
|
+
stopifnot(mode(as.matrix(ll)) == "logical")
|
|
2759
|
+
lll <- data.frame(a = LETTERS[1:10], b = rpois(10,1) > 0)
|
|
2760
|
+
stopifnot(mode(as.matrix(lll)) == "character")
|
|
2761
|
+
## both were char before 1.9.0
|
|
2762
|
+
|
|
2763
|
+
|
|
2764
|
+
## outer called rep with a non-generic arg
|
|
2765
|
+
x <- .leap.seconds[1:6]
|
|
2766
|
+
outer(x, x, "<")
|
|
2767
|
+
outer(x, x, "-")
|
|
2768
|
+
(z <- outer(x, x, "difftime", units="days"))
|
|
2769
|
+
stopifnot(class(z) == "difftime")
|
|
2770
|
+
## failed in 1.8.1
|
|
2771
|
+
|
|
2772
|
+
|
|
2773
|
+
## PR#5900 qbinom when probability is 1
|
|
2774
|
+
stopifnot(qbinom(0.95, 10, 1) == 10)
|
|
2775
|
+
stopifnot(qbinom(0, 10, 1) == 0)
|
|
2776
|
+
# and for prob = 0
|
|
2777
|
+
stopifnot(qbinom(0.95, 10, 0) == 0)
|
|
2778
|
+
stopifnot(qbinom(0, 10, 0) == 0)
|
|
2779
|
+
# and size = 0
|
|
2780
|
+
stopifnot(qbinom(0.95, 0, 0.5) == 0)
|
|
2781
|
+
## 1.8.1 was programmed to give NaN
|
|
2782
|
+
|
|
2783
|
+
|
|
2784
|
+
## base:: and ::: were searching in the wrong places
|
|
2785
|
+
stopifnot(inherits(try(base::lm), "try-error"))
|
|
2786
|
+
stopifnot(inherits(try(graphics::log), "try-error"))
|
|
2787
|
+
## equivalent constructs succeeded in 1.8.1
|
|
2788
|
+
|
|
2789
|
+
|
|
2790
|
+
## (PR#6452) princomp prediction without specifying centers should give NAs
|
|
2791
|
+
x <- matrix(rnorm(400), ncol=4)
|
|
2792
|
+
fit <- princomp(covmat=cov(x))
|
|
2793
|
+
stopifnot(is.null(fit$scores))
|
|
2794
|
+
stopifnot(is.na(predict(fit, newdata=x[1:10, ])))
|
|
2795
|
+
## failed in 1.8.1
|
|
2796
|
+
|
|
2797
|
+
|
|
2798
|
+
## (PR#6451) regex functions did not coerce args to character.
|
|
2799
|
+
sub(x=NA, pattern="x", replacement="y")
|
|
2800
|
+
## failed in 1.8.1
|
|
2801
|
+
|
|
2802
|
+
|
|
2803
|
+
## length<- needed a factor method, and so needed to be generic
|
|
2804
|
+
aa <- factor(letters)
|
|
2805
|
+
length(aa) <- 20
|
|
2806
|
+
aa
|
|
2807
|
+
stopifnot(is.factor(aa))
|
|
2808
|
+
## returned a vector in 1.8.1
|
|
2809
|
+
|
|
2810
|
+
|
|
2811
|
+
## spec.pgram() was too
|
|
2812
|
+
pAR <- c(2.7607, -3.82, 2.6535, -0.9238)
|
|
2813
|
+
N <- 1 + 2^14# 16385
|
|
2814
|
+
set.seed(123)
|
|
2815
|
+
x <- arima.sim(model = list(ar = pAR), n = N)
|
|
2816
|
+
spP <- spec.pgram(x, spans = 41, plot=FALSE)
|
|
2817
|
+
spA <- spec.ar(x=list(ar=pAR, order=4, var.pred=1, frequency=1),
|
|
2818
|
+
n.freq = spP$n.used %/% 2, plot=FALSE)
|
|
2819
|
+
r <- spP$spec / spA$spec
|
|
2820
|
+
stopifnot(abs(mean(r) - 1) < 0.003)
|
|
2821
|
+
## was 0.0268 in R 1.8.1
|
|
2822
|
+
|
|
2823
|
+
|
|
2824
|
+
## check for a Microsoft bug in timezones ahead of GMT
|
|
2825
|
+
stopifnot(!is.na(as.POSIXct("1970-01-01 00:00:00")))
|
|
2826
|
+
##
|
|
2827
|
+
|
|
2828
|
+
|
|
2829
|
+
## PR#6672, split.default on factors
|
|
2830
|
+
x <- c(NA, 1, 2)
|
|
2831
|
+
y <- as.factor(x)
|
|
2832
|
+
split(x, y)
|
|
2833
|
+
split(y, y) # included NAs in 1.8.1
|
|
2834
|
+
r1 <- tapply(x, y, length)
|
|
2835
|
+
r2 <- tapply(y, y, length)
|
|
2836
|
+
stopifnot(r1 == r2)
|
|
2837
|
+
##
|
|
2838
|
+
|
|
2839
|
+
|
|
2840
|
+
## PR#6652, points.formula with subset and extra arguments.
|
|
2841
|
+
roller <-
|
|
2842
|
+
data.frame(weight = c(1.9, 3.1, 3.3, 4.8, 5.3, 6.1, 6.4, 7.6, 9.8, 12.4),
|
|
2843
|
+
depression = c(2, 1, 5, 5, 20, 20, 23, 10, 30, 25))
|
|
2844
|
+
plot(depression ~ weight, data=roller, type="n")
|
|
2845
|
+
with(roller, points( depression~weight, subset=8:10, col=2))
|
|
2846
|
+
with(roller, points( depression~weight, subset=8:10, col=2:4))
|
|
2847
|
+
plot(depression ~ weight, data=roller, type="n")
|
|
2848
|
+
points(depression~weight, subset=8:10, col=2:4, data=roller)
|
|
2849
|
+
## first two gave error in 1.8.1
|
|
2850
|
+
|
|
2851
|
+
|
|
2852
|
+
## PR#4558 part 2
|
|
2853
|
+
x <- seq(as.POSIXct("2004-03-25"), as.POSIXct("2004-03-31"), by="DSTdays")
|
|
2854
|
+
stopifnot(length(x) == 7)
|
|
2855
|
+
## was length 6 in the UK time zone.
|
|
2856
|
+
|
|
2857
|
+
|
|
2858
|
+
## PR#6702 c/rbind on list matrices
|
|
2859
|
+
A <- matrix(as.list(1:4), 2, 2)
|
|
2860
|
+
(res <- cbind(A, A))
|
|
2861
|
+
stopifnot(typeof(res) == "list")
|
|
2862
|
+
(res <- rbind(A, A))
|
|
2863
|
+
stopifnot(typeof(res) == "list")
|
|
2864
|
+
## were not implemented in 1.8.1
|
|
2865
|
+
|
|
2866
|
+
|
|
2867
|
+
## Date objects with NA's
|
|
2868
|
+
(t1 <- strptime(c("6. Aug. 1930", "3. Nov. 1925", "28. Mar. 1959",
|
|
2869
|
+
NA, paste(1:29," Feb. 1960", sep=".")),
|
|
2870
|
+
format = "%d. %b. %Y"))
|
|
2871
|
+
stopifnot(6 == length(print(s1 <- summary(t1))),
|
|
2872
|
+
s1== summary(as.POSIXct(t1)),
|
|
2873
|
+
6 == length(print(format(as.Date(s1)))) )
|
|
2874
|
+
## gave bizarre "NA's" entry in R 1.8.1 and 1.9.0alpha
|
|
2875
|
+
|
|
2876
|
+
|
|
2877
|
+
## as.Date on a factor
|
|
2878
|
+
as.Date(factor("2000-01-02"))
|
|
2879
|
+
## failed in 1.9.0
|
|
2880
|
+
|
|
2881
|
+
|
|
2882
|
+
## as.data.frame.list (PR#6782)
|
|
2883
|
+
xx <- list(row.names=1:2,foxglove=3:4,toadflax=5:6)
|
|
2884
|
+
foo <- as.data.frame(xx)
|
|
2885
|
+
stopifnot(identical(names(xx), names(foo)))
|
|
2886
|
+
## 1.9.0 changed the last name to "x".
|
|
2887
|
+
|
|
2888
|
+
|
|
2889
|
+
## type.convert quirk (PR#6781)
|
|
2890
|
+
res1 <- type.convert( c("abc","-"), as.is=TRUE, na.strings="-" )
|
|
2891
|
+
stopifnot(identical(mode(res1), "character"), is.na(res1[2]))
|
|
2892
|
+
## res1[2] was "-" <= 1.9.0.
|
|
2893
|
+
|
|
2894
|
+
|
|
2895
|
+
## subsetting factor swaps order of attributes (PR#6799)
|
|
2896
|
+
af <- factor(c('A','B'))
|
|
2897
|
+
stopifnot(identical(af, af[1:2]))
|
|
2898
|
+
## failed in 1.9.0 as the attributes were class, level for af[1:2]
|
|
2899
|
+
|
|
2900
|
+
|
|
2901
|
+
## Comparison between lists and expressions
|
|
2902
|
+
stopifnot(inherits(try(list(1) <= list(2)), "try-error"))
|
|
2903
|
+
e <- expression(3 + 2 * 4)
|
|
2904
|
+
stopifnot(inherits(try(e == e), "try-error"))
|
|
2905
|
+
## both were allowed but nonsense in 1.9.0
|
|
2906
|
+
|
|
2907
|
+
|
|
2908
|
+
## "nowhere" interpolation (PR#6809)
|
|
2909
|
+
try(approx(list(x=rep(NaN, 9), y=1:9), xout=NaN))
|
|
2910
|
+
## gave a seg.fault in 1.9.0
|
|
2911
|
+
|
|
2912
|
+
|
|
2913
|
+
## aggregate.data.frame failed if result would have one row
|
|
2914
|
+
## Philippe Hup�, R-help, 2004-05-14
|
|
2915
|
+
dat <- data.frame(a=rep(2,10),b=rep("a",10))
|
|
2916
|
+
aggregate(dat$a, by=list(a1=dat$a, b1=dat$b), NROW)
|
|
2917
|
+
## failed due to missing drop = FALSE
|
|
2918
|
+
|
|
2919
|
+
|
|
2920
|
+
## [<-.data.frame with a data-frame value
|
|
2921
|
+
x <- data.frame(a=1:3, b=4:6, c=7:9)
|
|
2922
|
+
info <- x[1:2]
|
|
2923
|
+
x[, names(info)] <- info[1,]
|
|
2924
|
+
##
|
|
2925
|
+
|
|
2926
|
+
|
|
2927
|
+
## as.dendrogram.hclust()
|
|
2928
|
+
d <- as.dendrogram(hEU <- hclust(eurodist, "ave"))
|
|
2929
|
+
stopifnot(order.dendrogram(d) == hEU$order)# not new
|
|
2930
|
+
##N require(gclus); hE1 <- reorder.hclust(hEU, dis)
|
|
2931
|
+
## reconstruct without gclus (for R's testing)
|
|
2932
|
+
hE2 <- hEU; ii <- c(5,9:11, 13, 15:18); hE2$merge[ii,] <- hEU$merge[ii, 2:1]
|
|
2933
|
+
hE2$order <- as.integer(c(1,19,9,12,14,2,15,8,13,16,17,21,6,3,11,4,18,5,10,7,20))
|
|
2934
|
+
##N stopifnot(identical(hE1, hE2))
|
|
2935
|
+
d1 <- as.dendrogram(hE2)
|
|
2936
|
+
stopifnot(order.dendrogram(d1) == hE2$order,
|
|
2937
|
+
identical(d1, rev(rev(d1))))
|
|
2938
|
+
## not true in 1.9.0
|
|
2939
|
+
|
|
2940
|
+
|
|
2941
|
+
## trunc on a Date
|
|
2942
|
+
trunc(xx <- Sys.Date()) # failed in 1.9.1
|
|
2943
|
+
x <- xx + 0.9
|
|
2944
|
+
stopifnot(identical(trunc(x), xx)) # gave next day in 1.9.1
|
|
2945
|
+
xx <- as.Date("1960-02-02")
|
|
2946
|
+
x <- xx + 0.2
|
|
2947
|
+
stopifnot(identical(trunc(x), xx)) # must not truncate towards 0.
|
|
2948
|
+
##
|
|
2949
|
+
|
|
2950
|
+
### end of tests added in 1.9.1 ###
|
|
2951
|
+
|
|
2952
|
+
## 1.9.1 patched
|
|
2953
|
+
|
|
2954
|
+
## options(list('..', '..'))
|
|
2955
|
+
try(options(list('digits', 'width')))# give an error
|
|
2956
|
+
## gave a segfault in 1.9.1
|
|
2957
|
+
|
|
2958
|
+
|
|
2959
|
+
## PR#7100 seg faulted or path too long error on ././././././. ...
|
|
2960
|
+
length( list.files('.', all.files = TRUE, recursive = TRUE) )
|
|
2961
|
+
|
|
2962
|
+
|
|
2963
|
+
## PR#7116 segfaulted on A, later versions segfaulted on B or gave different
|
|
2964
|
+
## dims for the results.
|
|
2965
|
+
A <- cor(as.array(c(a=1,b=2)), cbind(1:2))
|
|
2966
|
+
B <- cor(cbind(1:2), as.array(c(a=1,b=2)))
|
|
2967
|
+
stopifnot(identical(A, B))
|
|
2968
|
+
|
|
2969
|
+
|
|
2970
|
+
## regression test for PR#7108
|
|
2971
|
+
ans <- gsub(" ", "", "b c + d | a * b", perl=TRUE) # NULL in 1.9.1
|
|
2972
|
+
stopifnot(identical(ans, gsub(" ", "", "b c + d | a * b")))
|
|
2973
|
+
gsub(" ", "", "a: 12345 :a", perl=TRUE) # segfaulted in 1.9.1
|
|
2974
|
+
## wrong answers, segfaults in 1.9.1.
|
|
2975
|
+
|
|
2976
|
+
|
|
2977
|
+
## regression test for PR#7132
|
|
2978
|
+
tmp <- data.frame(y=rnorm(8),
|
|
2979
|
+
aa=factor(c(1,1,1,1,2,2,2,2)),
|
|
2980
|
+
bb=factor(c(1,1,2,2,1,1,2,2)),
|
|
2981
|
+
cc=factor(c(1,2,3,4,1,2,3,4)))
|
|
2982
|
+
tmp.aov <- aov(y ~ cc + bb/aa, data=tmp)
|
|
2983
|
+
anova(tmp.aov)
|
|
2984
|
+
model.tables(tmp.aov, type="means")
|
|
2985
|
+
## failed in 1.9.1.
|
|
2986
|
+
|
|
2987
|
+
if(require(survival, quietly = TRUE)) { # required package
|
|
2988
|
+
a <- Surv(1:4, 2:5, c(0,1,1,0))
|
|
2989
|
+
str(a)
|
|
2990
|
+
str(a[rep(1:4,3)], vec.len = 7)
|
|
2991
|
+
detach("package:survival")
|
|
2992
|
+
}
|
|
2993
|
+
|
|
2994
|
+
### end of tests added in 1.9.1 patched ###
|
|
2995
|
+
|
|
2996
|
+
|
|
2997
|
+
## names in columns of data frames
|
|
2998
|
+
x <- 1:10
|
|
2999
|
+
names(x) <- letters[x]
|
|
3000
|
+
DF <- data.frame(x=x)
|
|
3001
|
+
(nm <- names(DF$x))
|
|
3002
|
+
stopifnot(is.null(nm))
|
|
3003
|
+
DF$y1 <- x
|
|
3004
|
+
DF["y2"] <- x
|
|
3005
|
+
DF[, "y3"] <- x
|
|
3006
|
+
DF[["y4"]] <- x
|
|
3007
|
+
stopifnot(is.null(names(DF$y1)), is.null(names(DF$y2)),
|
|
3008
|
+
is.null(names(DF$y3)), is.null(names(DF$y4)))
|
|
3009
|
+
# names were preserved in 1.9.x
|
|
3010
|
+
# check factors
|
|
3011
|
+
xx <- as.factor(x)
|
|
3012
|
+
DF <- data.frame(x=xx)
|
|
3013
|
+
(nm <- names(DF$xx))
|
|
3014
|
+
stopifnot(is.null(nm))
|
|
3015
|
+
DF$y1 <- xx
|
|
3016
|
+
DF["y2"] <- xx
|
|
3017
|
+
DF[, "y3"] <- xx
|
|
3018
|
+
DF[["y4"]] <- xx
|
|
3019
|
+
stopifnot(is.null(names(DF$y1)), is.null(names(DF$y2)),
|
|
3020
|
+
is.null(names(DF$y3)), is.null(names(DF$y4)))
|
|
3021
|
+
# how about AsIs? This should preserve names
|
|
3022
|
+
DF <- data.frame(x=I(x))
|
|
3023
|
+
(nm <- names(DF$x))
|
|
3024
|
+
stopifnot(identical(nm, names(x)))
|
|
3025
|
+
DF2 <- rbind(DF, DF[7:8,, drop=FALSE])
|
|
3026
|
+
(nm <- names(DF2$x))
|
|
3027
|
+
stopifnot(identical(nm, c(names(x), names(x)[7:8])))
|
|
3028
|
+
# and matrices? Ordinary matrices will be split into columns
|
|
3029
|
+
x <- 1:10
|
|
3030
|
+
dim(x) <- c(5,2)
|
|
3031
|
+
dimnames(x) <- list(letters[1:5], c("i", "ii"))
|
|
3032
|
+
DF <- data.frame(x=I(x))
|
|
3033
|
+
DF2 <- rbind(DF, DF)
|
|
3034
|
+
(rn <- rownames(DF2$x))
|
|
3035
|
+
stopifnot(identical(rn, c(rownames(x), rownames(x))))
|
|
3036
|
+
class(x) <- "model.matrix"
|
|
3037
|
+
DF <- data.frame(x=x)
|
|
3038
|
+
DF2 <- rbind(DF, DF)
|
|
3039
|
+
(rn <- rownames(DF2$x))
|
|
3040
|
+
stopifnot(identical(rn, c(rownames(x), rownames(x))))
|
|
3041
|
+
## names were always preserved in 1.9.x, but rbind dropped names and dimnames.
|
|
3042
|
+
|
|
3043
|
+
|
|
3044
|
+
## cumsum etc dropped names
|
|
3045
|
+
x <- rnorm(10)
|
|
3046
|
+
names(x) <- nm <- letters[1:10]
|
|
3047
|
+
stopifnot(identical(names(cumsum(x)), nm),
|
|
3048
|
+
identical(names(cumprod(x)), nm),
|
|
3049
|
+
identical(names(cummax(x)), nm),
|
|
3050
|
+
identical(names(cummin(x)), nm))
|
|
3051
|
+
x <- x+1i
|
|
3052
|
+
stopifnot(identical(names(cumsum(x)), nm),
|
|
3053
|
+
identical(names(cumprod(x)), nm))
|
|
3054
|
+
## 1.9.x dropped names
|
|
3055
|
+
|
|
3056
|
+
## cumsum etc preserve NAs
|
|
3057
|
+
# double
|
|
3058
|
+
x <- c(1, NA, 3)
|
|
3059
|
+
r <- c(1, NA, NA)
|
|
3060
|
+
stopifnot(identical(cumsum(x), r))
|
|
3061
|
+
stopifnot(identical(cumprod(x), r))
|
|
3062
|
+
stopifnot(identical(cummin(x), r))
|
|
3063
|
+
stopifnot(identical(cummax(x), r))
|
|
3064
|
+
# complex
|
|
3065
|
+
x <- c(1+1i, NA, 3)
|
|
3066
|
+
r <- c(1+1i, NA, NA)
|
|
3067
|
+
stopifnot(identical(cumsum(x), r))
|
|
3068
|
+
stopifnot(identical(cumprod(x), r))
|
|
3069
|
+
# integer
|
|
3070
|
+
x <- c(1L, NA, 3L)
|
|
3071
|
+
r <- c(1L, NA, NA)
|
|
3072
|
+
stopifnot(identical(cumsum(x), r))
|
|
3073
|
+
stopifnot(identical(cumprod(x), c(1, NA, NA))) # returns double
|
|
3074
|
+
stopifnot(identical(cummin(x), r))
|
|
3075
|
+
stopifnot(identical(cummax(x), r))
|
|
3076
|
+
|
|
3077
|
+
## complex superassignments
|
|
3078
|
+
e <- c(a=1, b=2)
|
|
3079
|
+
f <- c(a=1, b=2)
|
|
3080
|
+
g <- e
|
|
3081
|
+
h <- list(a=1, list(b=2, list(c=3, d=4), list(e=5)))
|
|
3082
|
+
j <- matrix(1, 2, 2)
|
|
3083
|
+
a <- "A"
|
|
3084
|
+
local({
|
|
3085
|
+
eold <- e <- c(A=10, B=11)
|
|
3086
|
+
hold <- h <- 2
|
|
3087
|
+
jold <- j <- 7
|
|
3088
|
+
gold <- g <- e
|
|
3089
|
+
a <- "B"
|
|
3090
|
+
|
|
3091
|
+
e[2] <<- e[2]+1
|
|
3092
|
+
names(f)[2] <<- a
|
|
3093
|
+
g <<- 1
|
|
3094
|
+
h[[2]][[h]][[ f[e==10] ]] <<- h
|
|
3095
|
+
names(h[[2]][[h]])[f[e==10] ] <<- a
|
|
3096
|
+
j[h, h] <<- h
|
|
3097
|
+
colnames(j)[2] <<- a
|
|
3098
|
+
|
|
3099
|
+
stopifnot(identical(e, eold))
|
|
3100
|
+
stopifnot(identical(h, hold))
|
|
3101
|
+
stopifnot(identical(g, gold))
|
|
3102
|
+
stopifnot(identical(j, jold))
|
|
3103
|
+
})
|
|
3104
|
+
|
|
3105
|
+
stopifnot(identical(e, c(a=1, b=12)))
|
|
3106
|
+
stopifnot(identical(f, c(a=1, B=2)))
|
|
3107
|
+
stopifnot(identical(g, 1))
|
|
3108
|
+
stopifnot(identical(h, list(a=1, list(b=2, list(B=2, d=4), list(e=5)))))
|
|
3109
|
+
stopifnot(identical(as.vector(j), c(1, 1, 1, 2)))
|
|
3110
|
+
stopifnot(identical(colnames(j), c(NA,"B")))
|
|
3111
|
+
## gave error 'subscript out of bounds' in 1.9.1
|
|
3112
|
+
|
|
3113
|
+
## make sure we don't get cycles out of changes to subassign3.
|
|
3114
|
+
x <- list(a=1, y=2)
|
|
3115
|
+
x$a <- x
|
|
3116
|
+
print(x)
|
|
3117
|
+
x$d <- x
|
|
3118
|
+
print(x)
|
|
3119
|
+
y <- x
|
|
3120
|
+
x$b <- y
|
|
3121
|
+
print(x)
|
|
3122
|
+
x$f <- y
|
|
3123
|
+
print(x)
|
|
3124
|
+
##
|
|
3125
|
+
|
|
3126
|
+
|
|
3127
|
+
## model.frame incorrectly preserved ts attributes
|
|
3128
|
+
x1 <- ts(c(1:10, NA))
|
|
3129
|
+
y1 <- ts(rnorm(11))
|
|
3130
|
+
lm(y1 ~ x1)
|
|
3131
|
+
lm(y1 ~ x1 + I(x1^2)) # second term has two classes
|
|
3132
|
+
## failed in 1.9.1
|
|
3133
|
+
|
|
3134
|
+
|
|
3135
|
+
## range checks missing in recursive assignments (PR#7196)
|
|
3136
|
+
l <- list()
|
|
3137
|
+
try(l[[2:3]] <- 1)
|
|
3138
|
+
l <- list(x=2)
|
|
3139
|
+
try(l[[2:3]] <- 1)
|
|
3140
|
+
l <- list(x=2, y=3)
|
|
3141
|
+
l[[2:3]] <- 1
|
|
3142
|
+
## first two segfaulted in 1.9.x
|
|
3143
|
+
|
|
3144
|
+
|
|
3145
|
+
## apply() on an array of dimension >=3 AND when for each iteration
|
|
3146
|
+
## the function returns a named vector of length >=2 (PR#7205)
|
|
3147
|
+
a <- array(1:24, dim=2:4)
|
|
3148
|
+
func1 <- function(x) c(a=mean(x), b=max(x))
|
|
3149
|
+
apply(a, 1:2, func1)
|
|
3150
|
+
## failed in 1.9.1
|
|
3151
|
+
|
|
3152
|
+
|
|
3153
|
+
# col2rgb must return a matrix for a single colour
|
|
3154
|
+
stopifnot(is.matrix(col2rgb("red")))
|
|
3155
|
+
## was vector at one point in pre-2.0.0
|
|
3156
|
+
|
|
3157
|
+
|
|
3158
|
+
## Subscripting matrices with NA's
|
|
3159
|
+
AAA <- array(1:6, c(6,1,1))
|
|
3160
|
+
idx <- c(1,2,NA,NA,5,6)
|
|
3161
|
+
B <- 10
|
|
3162
|
+
AAA[idx,1,1] <- B
|
|
3163
|
+
stopifnot(all.equal(as.vector(AAA), c(10,10,3,4,10,10)))
|
|
3164
|
+
## assigned only the first two elements in 1.9.1.
|
|
3165
|
+
## Tests for >= 2.0.0
|
|
3166
|
+
A <- c(1,2,3,4,5,6)
|
|
3167
|
+
A[idx] <- 27 # OK, one value
|
|
3168
|
+
stopifnot(identical(A, c(27,27,3,4,27,27)))
|
|
3169
|
+
try(A[idx] <- 6:1) # was 6 5 3 4 2 1 in 1.9.1
|
|
3170
|
+
stopifnot(inherits(.Last.value, "try-error"))
|
|
3171
|
+
|
|
3172
|
+
AA <- matrix(c(1,2,3,4,5,6), 6, 1)
|
|
3173
|
+
AA[idx,] <- 27 # OK, one value
|
|
3174
|
+
stopifnot(identical(AA, matrix(c(27,27,3,4,27,27), 6, 1)))
|
|
3175
|
+
try(AA[idx,] <- 6:1) # was 6 5 3 4 4 3 in 1.9.1
|
|
3176
|
+
stopifnot(inherits(.Last.value, "try-error"))
|
|
3177
|
+
|
|
3178
|
+
AAA <- array(c(1,2,3,4,5,6), c(6,1,1))
|
|
3179
|
+
AAA[idx,,] <- 27 # OK, one value
|
|
3180
|
+
stopifnot(identical(AAA, array(c(27,27,3,4,27,27), c(6,1,1))))
|
|
3181
|
+
try(AAA[idx,,] <- 6:1) # was 6 5 3 4 5 6 in 1.9.1
|
|
3182
|
+
stopifnot(inherits(.Last.value, "try-error"))
|
|
3183
|
+
## only length-1 values are allowed in >= 2.0.0.
|
|
3184
|
+
|
|
3185
|
+
|
|
3186
|
+
## hist with infinite values (PR#7220)
|
|
3187
|
+
hist(log(-5:100), plot = FALSE)
|
|
3188
|
+
## failed in 1.9.1: will warn, correctly.
|
|
3189
|
+
|
|
3190
|
+
|
|
3191
|
+
## merge problem with names/not in rbind.data.frame
|
|
3192
|
+
x <- structure(c("a", "b", "2", "0.2-26", "O", "O"), dim = 2:3,
|
|
3193
|
+
dimnames = list(c("1", "2"), c("P", "V", "2")))
|
|
3194
|
+
y <- structure(c("a", "b", "2", "0.2-25", "O", "O"), dim = 2:3,
|
|
3195
|
+
dimnames = list(c("1", "2"), c("P", "V", "1")))
|
|
3196
|
+
merge(x, y, all.y = TRUE)
|
|
3197
|
+
## failed for a while in pre-2.0.0
|
|
3198
|
+
|
|
3199
|
+
|
|
3200
|
+
## matrix responses in binomial glm lost names prior to 2.0.0
|
|
3201
|
+
y <- rbinom(10, 10, 0.5)
|
|
3202
|
+
x <- 1:10
|
|
3203
|
+
names(y) <- letters[1:10]
|
|
3204
|
+
ym <- cbind(y, 10-y)
|
|
3205
|
+
fit2 <- glm(ym ~ x, binomial)
|
|
3206
|
+
stopifnot(identical(names(resid(fit2)), names(y)))
|
|
3207
|
+
## Note: fit <- glm(y/10 ~ x, binomial, weights=rep(10, 10))
|
|
3208
|
+
## Does not preserve names in R < 2.0.1, but does in S.
|
|
3209
|
+
fit <- glm(y/10 ~ x, binomial, weights=rep(10, 10))
|
|
3210
|
+
stopifnot(identical(names(resid(fit)), names(y)))
|
|
3211
|
+
## The problem was glm.fit assumed a vector response.
|
|
3212
|
+
|
|
3213
|
+
|
|
3214
|
+
## dlogis(-2000) was NaN in <= 2.0.0.
|
|
3215
|
+
stopifnot(identical(dlogis(-2000), 0.0))
|
|
3216
|
+
##
|
|
3217
|
+
|
|
3218
|
+
|
|
3219
|
+
## short vectors in spline[fun] (PR#7290)
|
|
3220
|
+
try(splinefun(1[0], 1[0])(1)) # segfault in <= 2.0.0
|
|
3221
|
+
for(meth in c("fmm", "nat", "per"))
|
|
3222
|
+
stopifnot(all(splinefun(1, pi, method = meth)(0:2) == rep(pi, 3)))
|
|
3223
|
+
## exactly constant for n=1; was NA for "periodic" in <= 2.0.0
|
|
3224
|
+
|
|
3225
|
+
|
|
3226
|
+
## ecdf with NAs (part of PR#7292).
|
|
3227
|
+
x <- c(1,2,2,4,7, NA, 10,12, 15,20)
|
|
3228
|
+
ecdf(x)
|
|
3229
|
+
## failed in <= 2.0.0.
|
|
3230
|
+
|
|
3231
|
+
|
|
3232
|
+
## Incorrect use of as.Date segfaulted on some x86_64 systems.
|
|
3233
|
+
as.Date("2001", "%Y")
|
|
3234
|
+
## answer is usually current mon & day, but 2001-01-01 on Solaris.
|
|
3235
|
+
|
|
3236
|
+
|
|
3237
|
+
## rank and order accepted invalid inputs (and gave nonsense)
|
|
3238
|
+
x1 <- as.list(10:1)
|
|
3239
|
+
x2 <- charToRaw("A test string")
|
|
3240
|
+
stopifnot(inherits(try(order(x1)), "try-error"),
|
|
3241
|
+
inherits(try(order(x2)), "try-error"),
|
|
3242
|
+
inherits(try(rank(x1)), "try-error"),
|
|
3243
|
+
inherits(try(rank(x2)), "try-error"))
|
|
3244
|
+
## worked but gave 1:n in 2.0.0.
|
|
3245
|
+
stopifnot(inherits(try(sort(x1)), "try-error"),
|
|
3246
|
+
inherits(try(sort(x2)), "try-error"),
|
|
3247
|
+
inherits(try(sort(x1, partial=5)), "try-error"),
|
|
3248
|
+
inherits(try(sort(x2, partial=5)), "try-error"))
|
|
3249
|
+
##
|
|
3250
|
+
|
|
3251
|
+
|
|
3252
|
+
## pmax failed with NA inputs
|
|
3253
|
+
pmax(c(1,2,NA), c(3,4,NA), na.rm=TRUE)
|
|
3254
|
+
## failed after for 2.0.0 change to subassignment
|
|
3255
|
+
|
|
3256
|
+
|
|
3257
|
+
## subassigning expression could segfault (PR#7326)
|
|
3258
|
+
foo <- expression(alpha, beta, gamma)
|
|
3259
|
+
foo[2]
|
|
3260
|
+
foo[2] <- NA
|
|
3261
|
+
foo
|
|
3262
|
+
## segfaulted in 2.0.0
|
|
3263
|
+
|
|
3264
|
+
|
|
3265
|
+
## incorrect arg matching in sum min max prod any all
|
|
3266
|
+
## Pat Burns, R-devel 2004-11-19
|
|
3267
|
+
stopifnot(identical(sum(1:4, NA, n = 78, na.rm = TRUE), 88))
|
|
3268
|
+
## was 11 in 2.0.1
|
|
3269
|
+
|
|
3270
|
+
|
|
3271
|
+
## segfault from text, P Ehlers, R-devel 2004-11-24
|
|
3272
|
+
plot(1:10)
|
|
3273
|
+
loc <- list(5, 6)
|
|
3274
|
+
try(text(loc, labels = "a"))
|
|
3275
|
+
## segfaulted in 2.0.1
|
|
3276
|
+
|
|
3277
|
+
|
|
3278
|
+
## automatic row.names can be number-like, MM, 2004-11-26
|
|
3279
|
+
d0 <- data.frame(x=1:3, y=pi*2:0)
|
|
3280
|
+
row.names(d0)[3] <- c("01.00")
|
|
3281
|
+
write.table(d0, (tf <- tempfile()))
|
|
3282
|
+
d <- read.table(tf)
|
|
3283
|
+
## gave error ("duplicate row.names") in 2.0.1
|
|
3284
|
+
stopifnot(all.equal(d,d0))
|
|
3285
|
+
unlink(tf)
|
|
3286
|
+
|
|
3287
|
+
|
|
3288
|
+
## seq() should be more consistent in returning "integer"
|
|
3289
|
+
stopifnot(typeof(seq(length=0)) == "integer",
|
|
3290
|
+
identical(seq(length=0), seq(along.with=0[0])),
|
|
3291
|
+
identical(seq(length=3), 1:3),
|
|
3292
|
+
identical(seq(length=3), seq(along.with=1:3)))
|
|
3293
|
+
|
|
3294
|
+
|
|
3295
|
+
## labels.lm was broken (PR#7417)
|
|
3296
|
+
# part of example(lm)
|
|
3297
|
+
ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
|
|
3298
|
+
trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
|
|
3299
|
+
group <- gl(2,10,20, labels=c("Ctl","Trt"))
|
|
3300
|
+
weight <- c(ctl, trt)
|
|
3301
|
+
lm.D9 <- lm(weight ~ group)
|
|
3302
|
+
stopifnot(labels(lm.D9) == "group")
|
|
3303
|
+
## failed in 2.0.1, giving length 0
|
|
3304
|
+
|
|
3305
|
+
|
|
3306
|
+
## sprintf had no length check (PR#7554)
|
|
3307
|
+
a <- matrix (ncol=100, nrow=100, data=c(1,2,3,4,5))
|
|
3308
|
+
a.serial <- rawToChar(serialize(a, NULL, ascii=TRUE))
|
|
3309
|
+
try(sprintf('foo: %s\n', a.serial))
|
|
3310
|
+
## seqfaulted in 2.0.1
|
|
3311
|
+
|
|
3312
|
+
|
|
3313
|
+
## all/any did not coerce as the Blue Book described.
|
|
3314
|
+
for(x in c("F", "FALSE", "T", "TRUE", "NA")) {
|
|
3315
|
+
print(all(x))
|
|
3316
|
+
print(any(x))
|
|
3317
|
+
}
|
|
3318
|
+
all(list())
|
|
3319
|
+
any(list())
|
|
3320
|
+
## all failed in 2.0.1 with 'incorrect argument type'
|
|
3321
|
+
|
|
3322
|
+
|
|
3323
|
+
##---- named dimnames of %*% and crossprod() -- matrices and 1-d arrays:
|
|
3324
|
+
tst1 <- function(m) {
|
|
3325
|
+
stopifnot(identical(t(m) %*% (m), crossprod(m)))
|
|
3326
|
+
stopifnot(identical(m %*% t(m), crossprod(t(m))))
|
|
3327
|
+
}
|
|
3328
|
+
tst2 <- function(x, y=x) {
|
|
3329
|
+
stopifnot(identical(t(x) %*% (y),(crossprod(x,y) -> C)))
|
|
3330
|
+
stopifnot(identical(t(y) %*% (x),(crossprod(y,x) -> tC)))
|
|
3331
|
+
stopifnot(identical(tC, t(C)))
|
|
3332
|
+
}
|
|
3333
|
+
|
|
3334
|
+
{m1 <- array(1:2,1:2); dimnames(m1) <- list(D1="A", D2=c("a","b")); m1}
|
|
3335
|
+
tst1(m1)
|
|
3336
|
+
m2 <- m1; names(dimnames(m2)) <- c("", "d2"); tst1(m2)
|
|
3337
|
+
m3 <- m1; names(dimnames(m3)) <- c("", "") ; tst1(m3)
|
|
3338
|
+
m4 <- m1; names(dimnames(m4)) <- NULL ; tst1(m4)
|
|
3339
|
+
|
|
3340
|
+
tst2(m1,m2)
|
|
3341
|
+
tst2(m1,m3)
|
|
3342
|
+
tst2(m1,m4)
|
|
3343
|
+
tst2(m2,m3)
|
|
3344
|
+
tst2(m2,m4)
|
|
3345
|
+
tst2(m3,m4)
|
|
3346
|
+
|
|
3347
|
+
## 2) Now the 'same' with 1-d arrays:
|
|
3348
|
+
a1 <- m1; dim(a1) <- length(a1); dimnames(a1) <- dimnames(m1)[2]; a1 # named dn
|
|
3349
|
+
a2 <- a1; names(dimnames(a2)) <- NULL ; a2 # unnamed dn
|
|
3350
|
+
a3 <- a1; dimnames(a3) <- NULL ; a3 # no dn
|
|
3351
|
+
stopifnot(identical(dimnames(t(a1))[2], dimnames(a1)))
|
|
3352
|
+
## in version <= 2.0.1, t(.) was loosing names of dimnames()
|
|
3353
|
+
tst1(a1)# failed in 2.0.1 ("twice")
|
|
3354
|
+
tst1(a2)# failed in 2.0.1
|
|
3355
|
+
tst1(a3)# ok
|
|
3356
|
+
## these all three failed in (2.0.1) for more than one reason:
|
|
3357
|
+
tst2(a1,a2)
|
|
3358
|
+
tst2(a1,a3)
|
|
3359
|
+
tst2(a2,a3)
|
|
3360
|
+
## end {testing named dimnames for %*% and crossprod()}
|
|
3361
|
+
|
|
3362
|
+
|
|
3363
|
+
## -- coercing as.data.frame(NULL) to a pairlist didn't work
|
|
3364
|
+
y<-1:10
|
|
3365
|
+
eval(quote(y), as.data.frame(NULL))
|
|
3366
|
+
## NULL as the second argument of eval should be treated
|
|
3367
|
+
## like a list or data frame
|
|
3368
|
+
eval(quote(y), NULL)
|
|
3369
|
+
## end
|
|
3370
|
+
|
|
3371
|
+
|
|
3372
|
+
## data frame with nothing to replace
|
|
3373
|
+
A <- matrix(1:4, 2, 2)
|
|
3374
|
+
A[is.na(A)] <- 0
|
|
3375
|
+
A <- as.data.frame(A)
|
|
3376
|
+
A[is.na(A)] <- 0
|
|
3377
|
+
## last not accepted prior to 2.1.0
|
|
3378
|
+
|
|
3379
|
+
|
|
3380
|
+
## scan on partial lines on an open connection
|
|
3381
|
+
cat("TITLE extra line", "235 335 535 735", "115 135 175",
|
|
3382
|
+
file="ex.data", sep="\n")
|
|
3383
|
+
cn.x <- file("ex.data", open="r")
|
|
3384
|
+
res <- scan(cn.x, skip=1, n=2)
|
|
3385
|
+
res <- c(res, scan(cn.x, n=2))
|
|
3386
|
+
res <- c(res, scan(cn.x, n=2))
|
|
3387
|
+
res <- c(res, scan(cn.x, n=2))
|
|
3388
|
+
close(cn.x, sep=" ")
|
|
3389
|
+
unlink("ex.data")
|
|
3390
|
+
stopifnot(identical(res, c(235, 335, 535, 735, 115, 135, 175)))
|
|
3391
|
+
## dropped some first chars < 2.1.0
|
|
3392
|
+
|
|
3393
|
+
|
|
3394
|
+
## PR#7686 formatC does not pick up on incorrect 'flag' inputs
|
|
3395
|
+
try(formatC(1, flag="s"))
|
|
3396
|
+
## segfaulted in 2.0.1
|
|
3397
|
+
|
|
3398
|
+
|
|
3399
|
+
## PR#7695 contrasts needed coercion to double
|
|
3400
|
+
c <- matrix(c(0,1,2), nrow=3)
|
|
3401
|
+
storage.mode(c) <- "integer"
|
|
3402
|
+
f <- factor(1:3)
|
|
3403
|
+
contrasts(f, 1) <- c
|
|
3404
|
+
x <- model.matrix(~f)
|
|
3405
|
+
stopifnot(x == c(1,1,1,0,1,2))
|
|
3406
|
+
## gave machine-dependendent silly numbers in 2.0.1
|
|
3407
|
+
|
|
3408
|
+
|
|
3409
|
+
## extreme (de-normalized) axis range
|
|
3410
|
+
x <- 2^-seq(67, 1067, length=20)
|
|
3411
|
+
plot(x^.9, x, type="l", log="xy") # still warning and ugly labels because
|
|
3412
|
+
## e.g., 10^-323 |==> 9.881313e-324 numerically
|
|
3413
|
+
## gave error "log - axis(), 'at' creation, _LARGE_ range..." in 2.0.1
|
|
3414
|
+
|
|
3415
|
+
|
|
3416
|
+
## torture test of scan() with allowEscape=TRUE
|
|
3417
|
+
tf <- tempfile()
|
|
3418
|
+
x <- c('ABC', '"123"', "a'b")
|
|
3419
|
+
cat(shQuote(x, "cmd"), sep="\n", file=tf)
|
|
3420
|
+
(x2 <- scan(tf, ""))
|
|
3421
|
+
unlink(tf)
|
|
3422
|
+
stopifnot(identical(x, x2))
|
|
3423
|
+
## At one point pre-2.1.0 got confused
|
|
3424
|
+
|
|
3425
|
+
|
|
3426
|
+
## se.contrast failed in 2.0.1 with some effectively one-stratum designs.
|
|
3427
|
+
old <- getOption("contrasts")
|
|
3428
|
+
options(contrasts = c("contr.helmert", "contr.poly"))
|
|
3429
|
+
Lab <- factor(rep(c("1","2","3"), each=12))
|
|
3430
|
+
Material <- factor(rep(c("A","B","C","D"),each=3,times=3))
|
|
3431
|
+
Measurement <- c(12.20,12.28,12.16,15.51,15.02,15.29,18.14,18.08,18.21,
|
|
3432
|
+
18.54,18.36,18.45,12.59,12.30,12.67,14.98,15.46,15.22,
|
|
3433
|
+
18.54,18.31,18.60,19.21,18.77,18.69,12.72,12.78,12.66,
|
|
3434
|
+
15.33,15.19,15.24,18.00,18.15,17.93,18.88,18.12,18.03)
|
|
3435
|
+
testdata <- data.frame(Lab, Material, Measurement)
|
|
3436
|
+
(test.aov <- aov(Measurement ~ Material + Error(Lab/Material),
|
|
3437
|
+
data = testdata))
|
|
3438
|
+
eff.aovlist(test.aov)
|
|
3439
|
+
(res <- se.contrast(test.aov,
|
|
3440
|
+
list(Material=="A", Material=="B",
|
|
3441
|
+
Material=="C", Material=="D"),
|
|
3442
|
+
coef = c(1, 1, -1, -1), data = testdata))
|
|
3443
|
+
## failed in 2.0.1 as a matrix was 1 x 1.
|
|
3444
|
+
|
|
3445
|
+
## 2.0.1 also failed to check for orthogonal contrasts
|
|
3446
|
+
## in calculating the efficiencies (which are 1 here).
|
|
3447
|
+
options(contrasts = c("contr.treatment", "contr.poly"))
|
|
3448
|
+
(test2.aov <- aov(Measurement ~ Material + Error(Lab/Material),
|
|
3449
|
+
data = testdata))
|
|
3450
|
+
(res2 <- se.contrast(test2.aov,
|
|
3451
|
+
list(Material=="A", Material=="B",
|
|
3452
|
+
Material=="C", Material=="D"),
|
|
3453
|
+
coef = c(1, 1, -1, -1), data = testdata))
|
|
3454
|
+
stopifnot(all.equal(res, res2))
|
|
3455
|
+
|
|
3456
|
+
## related checks on eff.aovlist
|
|
3457
|
+
# from example(eff.aovlist) # helmert contrasts
|
|
3458
|
+
Block <- gl(8, 4)
|
|
3459
|
+
A<-factor(c(0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1))
|
|
3460
|
+
B<-factor(c(0,0,1,1,0,0,1,1,0,1,0,1,1,0,1,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1))
|
|
3461
|
+
C<-factor(c(0,1,1,0,1,0,0,1,0,0,1,1,0,0,1,1,0,1,0,1,1,0,1,0,0,0,1,1,1,1,0,0))
|
|
3462
|
+
Yield <- c(101, 373, 398, 291, 312, 106, 265, 450, 106, 306, 324, 449,
|
|
3463
|
+
272, 89, 407, 338, 87, 324, 279, 471, 323, 128, 423, 334,
|
|
3464
|
+
131, 103, 445, 437, 324, 361, 302, 272)
|
|
3465
|
+
aovdat <- data.frame(Block, A, B, C, Yield)
|
|
3466
|
+
old <- getOption("contrasts")
|
|
3467
|
+
options(contrasts=c("contr.helmert", "contr.poly"))
|
|
3468
|
+
fit <- aov(Yield ~ A * B * C + Error(Block), data = aovdat)
|
|
3469
|
+
eff1 <- eff.aovlist(fit)
|
|
3470
|
+
options(contrasts = old)
|
|
3471
|
+
fit <- aov(Yield ~ A * B * C + Error(Block), data = aovdat)
|
|
3472
|
+
eff2 <- eff.aovlist(fit)
|
|
3473
|
+
stopifnot(all.equal(eff1, eff2)) # will have rounding-error differences
|
|
3474
|
+
## Were different in earlier versions
|
|
3475
|
+
|
|
3476
|
+
|
|
3477
|
+
## parts of PR#7742 and other examples
|
|
3478
|
+
sub('^','v_', 1:3, perl=TRUE)
|
|
3479
|
+
## 2.0.1 did not coerce to character (nor was it documented to).
|
|
3480
|
+
x <- LETTERS[1:3]
|
|
3481
|
+
stopifnot(identical(paste('v_', x, sep=""),
|
|
3482
|
+
sub('^','v_', x, perl = TRUE)))
|
|
3483
|
+
## 2.0.1 added random chars at the end
|
|
3484
|
+
stopifnot(identical(paste('v_', x, sep=""), sub('^','v_', x)))
|
|
3485
|
+
## 2.0.1 did not substitute at all
|
|
3486
|
+
(x <- gsub("\\b", "|", "The quick brown fox", perl = TRUE))
|
|
3487
|
+
stopifnot(identical(x, "|The| |quick| |brown| |fox|"))
|
|
3488
|
+
## checked against sed: 2.0.1 infinite-looped.
|
|
3489
|
+
## NB, the help page warns you not to do this one except in perl
|
|
3490
|
+
(x <- gsub("\\b", "|", "The quick brown fox", perl = TRUE))
|
|
3491
|
+
stopifnot(identical(x, "|The| |quick| |brown| |fox|"))
|
|
3492
|
+
## 2.0.1 gave wrong answer
|
|
3493
|
+
## Another boundary case, same warning
|
|
3494
|
+
## (x <- gsub("\\b", "|", " The quick "))
|
|
3495
|
+
## stopifnot(identical(x, " |The| |quick| "))
|
|
3496
|
+
(x <- gsub("\\b", "|", " The quick ", perl = TRUE))
|
|
3497
|
+
stopifnot(identical(x, " |The| |quick| "))
|
|
3498
|
+
## and some from a comment in the GNU sed code
|
|
3499
|
+
x <- gsub("a*", "x", "baaaac")
|
|
3500
|
+
stopifnot(identical(x, "xbxcx"))
|
|
3501
|
+
x <- gsub("a*", "x", "baaaac", perl = TRUE)
|
|
3502
|
+
stopifnot(identical(x, "xbxcx"))
|
|
3503
|
+
## earlier versions got "bxc" or "xbxxcx"
|
|
3504
|
+
(x <- gsub("^12", "x", "1212")) # was "xx"
|
|
3505
|
+
stopifnot(identical(x, "x12"))
|
|
3506
|
+
(x <- gsub("^12", "x", "1212", perl = TRUE)) # was "xx"
|
|
3507
|
+
stopifnot(identical(x, "x12"))
|
|
3508
|
+
## various fixes in 2.1.0
|
|
3509
|
+
|
|
3510
|
+
## length(0) "dist":
|
|
3511
|
+
(d01. <- dist(matrix(0., 0,1)))
|
|
3512
|
+
## failed in 2.0.1 and earlier
|
|
3513
|
+
|
|
3514
|
+
|
|
3515
|
+
## Wish of PR#7775
|
|
3516
|
+
x <- matrix(0, nrow=0, ncol=2)
|
|
3517
|
+
colSums(x); rowSums(x)
|
|
3518
|
+
x <- matrix(0, nrow=2, ncol=0)
|
|
3519
|
+
colSums(x); rowSums(x)
|
|
3520
|
+
## not allowed in 2.0.1
|
|
3521
|
+
|
|
3522
|
+
|
|
3523
|
+
## infinite recursion in 2.0.1 (and R-beta 2005-04-11):
|
|
3524
|
+
summary(data.frame(mat = I(matrix(1:8, 2))))
|
|
3525
|
+
summary(data.frame(x = gl(2,2), I(matrix(1:8, 4))))
|
|
3526
|
+
##
|
|
3527
|
+
|
|
3528
|
+
|
|
3529
|
+
|
|
3530
|
+
### fixes for 2.1.1 ###
|
|
3531
|
+
|
|
3532
|
+
## PR#7792: predict.glm dropped names
|
|
3533
|
+
nm <- names(predict(glm(y ~ x, family=binomial,
|
|
3534
|
+
data=data.frame(y=c(1, 0, 1, 0), x=c(1, 1, 0, 0))),
|
|
3535
|
+
newdata=data.frame(x=c(0, 0.5, 1)), type="response"))
|
|
3536
|
+
stopifnot(identical(nm, as.character(1:3)))
|
|
3537
|
+
## no names in 2.1.0
|
|
3538
|
+
|
|
3539
|
+
|
|
3540
|
+
## PR#7808: as.data.frame: Error in "names<-.default"
|
|
3541
|
+
x1 <- array(1:9, c(3, 3, 3))
|
|
3542
|
+
FUN <- function(x1, x2, x3, x4) cbind(x1[, 1, 1:2], x1[, 2, 1:2])[, 1]
|
|
3543
|
+
as.data.frame(FUN(x1[1:3,,], x2 = c("a", "b"),
|
|
3544
|
+
x3 = c("a", "b"), x4 = c("a", "b")))
|
|
3545
|
+
## failed in 2.1.0
|
|
3546
|
+
|
|
3547
|
+
|
|
3548
|
+
## PR#7797 citation() chops "Roeland "
|
|
3549
|
+
stopifnot(as.personList("Roeland Lastname")[[1]]$given[1] == "Roeland")
|
|
3550
|
+
## was empty in 2.1.0.
|
|
3551
|
+
|
|
3552
|
+
|
|
3553
|
+
## runmed()'s Turlach algorithm seg.faulted in rare cases:
|
|
3554
|
+
t2 <- c(-2,-7,5,2,-3, 0,1,3,2,-1,2,1,2,1,1,1,-2,4, 1,1,1, 32)
|
|
3555
|
+
rS <- runmed(t2, k=21, algorithm= "Stuetzle")
|
|
3556
|
+
rT <- runmed(t2, k=21, algorithm= "Turlach")
|
|
3557
|
+
stopifnot(identical(rS, rT))
|
|
3558
|
+
## seg.fault in 2.1.0
|
|
3559
|
+
|
|
3560
|
+
|
|
3561
|
+
## duplicated and unique on a list
|
|
3562
|
+
x <- list(1, 2, 3, 2)
|
|
3563
|
+
duplicated(x)
|
|
3564
|
+
unique(x)
|
|
3565
|
+
## unique failed in 2.1.0
|
|
3566
|
+
|
|
3567
|
+
|
|
3568
|
+
## prog.aovlist on data with row.names
|
|
3569
|
+
N <- c(0,1,0,1,1,1,0,0,0,1,1,0,1,1,0,0,1,0,1,0,1,1,0,0)
|
|
3570
|
+
P <- c(1,1,0,0,0,1,0,1,1,1,0,0,0,1,0,1,1,0,0,1,0,1,1,0)
|
|
3571
|
+
K <- c(1,0,0,1,0,1,1,0,0,1,0,1,0,1,1,0,0,0,1,1,1,0,1,0)
|
|
3572
|
+
yield <- c(49.5,62.8,46.8,57.0,59.8,58.5,55.5,56.0,62.8,55.8,69.5,
|
|
3573
|
+
55.0, 62.0,48.8,45.5,44.2,52.0,51.5,49.8,48.8,57.2,59.0,53.2,56.0)
|
|
3574
|
+
npk <- data.frame(block=gl(6,4), N=factor(N), P=factor(P),
|
|
3575
|
+
K=factor(K), yield=yield)
|
|
3576
|
+
row.names(npk) <- letters[2:25]
|
|
3577
|
+
npk.aovE <- aov(yield ~ N*P*K + Error(block), npk)
|
|
3578
|
+
pr <- proj(npk.aovE)
|
|
3579
|
+
## failed in 2.1.0
|
|
3580
|
+
|
|
3581
|
+
|
|
3582
|
+
## PR#7894: Reversing axis in a log plot
|
|
3583
|
+
x <- 1:3
|
|
3584
|
+
plot(x, exp(x), log = "y", ylim = c(30,1))
|
|
3585
|
+
## gave error (and warning) in log - axis(), 'at' creation
|
|
3586
|
+
|
|
3587
|
+
### end of tests added in 2.1.0 patched ###
|
|
3588
|
+
|
|
3589
|
+
|
|
3590
|
+
|
|
3591
|
+
## Multibyte character set regular expressions had buffer overrun
|
|
3592
|
+
regexpr("[a-z]", NA)
|
|
3593
|
+
## crashed on 2.1.1 on Windows in MBCS build.
|
|
3594
|
+
|
|
3595
|
+
|
|
3596
|
+
## PR#8033: density with 'Inf' in x:
|
|
3597
|
+
d <- density(1/0:2, kern = "rect", bw=1, from=0, to=1, n=2)
|
|
3598
|
+
stopifnot(all.equal(rep(1/sqrt(27), 2), d$y, tol=1e-14))
|
|
3599
|
+
## failed in R 2.1.1 (since about 1.9.0)
|
|
3600
|
+
|
|
3601
|
+
stopifnot(all.equal(Arg(-1), pi))
|
|
3602
|
+
## failed in R <= 2.1.1
|
|
3603
|
+
|
|
3604
|
+
|
|
3605
|
+
## PR#7973: reversed log-scaled axis
|
|
3606
|
+
plot(1:100, log="y", ylim=c(100,10))
|
|
3607
|
+
stopifnot(axTicks(2) == 10*c(10,5,2,1))
|
|
3608
|
+
## empty < 2.2.0
|
|
3609
|
+
|
|
3610
|
+
|
|
3611
|
+
## rounding errors in window.default (reported by Stefano Iacus)
|
|
3612
|
+
x <- ts(rnorm(50001), start=0, deltat=0.1)
|
|
3613
|
+
length(window(x, deltat=0.4))
|
|
3614
|
+
length(window(x, deltat=1))
|
|
3615
|
+
length(window(x, deltat=4.9))
|
|
3616
|
+
length(window(x, deltat=5))
|
|
3617
|
+
## last failed in 2.1.1
|
|
3618
|
+
|
|
3619
|
+
|
|
3620
|
+
## incorrect sort in order with na.last != NA
|
|
3621
|
+
x <- c("5","6",NA,"4",NA)
|
|
3622
|
+
y <- x[order(x,na.last=FALSE)]
|
|
3623
|
+
stopifnot(identical(y, c(NA, NA, "4", "5", "6")))
|
|
3624
|
+
## 2.1.1 sorted "4" first: the fence was wrong.
|
|
3625
|
+
|
|
3626
|
+
|
|
3627
|
+
## integer overflow in cor.test (PR#8087)
|
|
3628
|
+
n <- 46341
|
|
3629
|
+
(z <- cor.test(runif(n), runif(n), method = "spearman"))
|
|
3630
|
+
stopifnot(!is.na(z$p.value))
|
|
3631
|
+
##
|
|
3632
|
+
|
|
3633
|
+
## seek on a file messed up in Windows (PR#7896)
|
|
3634
|
+
tf <- tempfile()
|
|
3635
|
+
f <- file(tf, "w+b")
|
|
3636
|
+
writeChar("abcdefghijklmnopqrstuvwxyz", f, eos=NULL)
|
|
3637
|
+
seek(f, 0, "end", rw="r")
|
|
3638
|
+
stopifnot(seek(f, NA, rw="r") == 26) # MinGW messed up seek to end of file that was open for writing
|
|
3639
|
+
close(f)
|
|
3640
|
+
f <- file(tf, "rb")
|
|
3641
|
+
seek(f, 12)
|
|
3642
|
+
stopifnot(readChar(f, 1) == "m") # First patch messed up on read-only files
|
|
3643
|
+
close(f)
|
|
3644
|
+
unlink(tf)
|
|
3645
|
+
##
|
|
3646
|
+
|
|
3647
|
+
### end of tests added in 2.1.1 patched ###
|
|
3648
|
+
|
|
3649
|
+
|
|
3650
|
+
|
|
3651
|
+
## tests of hexadecimal constants
|
|
3652
|
+
x <- 0xAbc
|
|
3653
|
+
stopifnot(x == 2748)
|
|
3654
|
+
xx <- as.integer("0xAbc")
|
|
3655
|
+
stopifnot(x == xx)
|
|
3656
|
+
xx <- as.numeric("0xAbc")
|
|
3657
|
+
stopifnot(x == xx)
|
|
3658
|
+
stopifnot(as.integer("13.7") == 13)
|
|
3659
|
+
## new in 2.2.0
|
|
3660
|
+
|
|
3661
|
+
|
|
3662
|
+
## save() of raw vector was incorrect on big-endian system
|
|
3663
|
+
(y <- x <- charToRaw("12345"))
|
|
3664
|
+
save(x, file="x.Rda")
|
|
3665
|
+
rm(x)
|
|
3666
|
+
load("x.Rda")
|
|
3667
|
+
x
|
|
3668
|
+
stopifnot(identical(x, y))
|
|
3669
|
+
unlink("x.Rda")
|
|
3670
|
+
## 00 00 00 00 00 in 2.1.0 on OS X (now macOS)
|
|
3671
|
+
## fixed for 2.1.1, but test added only in 2.2.x
|
|
3672
|
+
|
|
3673
|
+
|
|
3674
|
+
## PR#7922: Could not use expression() as an initial expression value
|
|
3675
|
+
setClass("test2", representation(bar = "expression"))
|
|
3676
|
+
new("test2", bar = expression())
|
|
3677
|
+
## failed
|
|
3678
|
+
|
|
3679
|
+
|
|
3680
|
+
## Ops.data.frame had the default check.names=TRUE
|
|
3681
|
+
DF <- data.frame("100"=1:2, "200"=3:4, check.names=FALSE)
|
|
3682
|
+
DF/DF
|
|
3683
|
+
stopifnot(identical(names(DF), names(DF/DF)))
|
|
3684
|
+
## DF/DF names had X prepended < 2.2.0
|
|
3685
|
+
|
|
3686
|
+
|
|
3687
|
+
## sum(T) was double
|
|
3688
|
+
x <- 1:10
|
|
3689
|
+
stopifnot(typeof(sum(x)) == "integer")
|
|
3690
|
+
x <- c(TRUE, FALSE)
|
|
3691
|
+
stopifnot(typeof(sum(x)) == "integer")
|
|
3692
|
+
## double < 2.2.0
|
|
3693
|
+
|
|
3694
|
+
|
|
3695
|
+
## Overflow in PrintGenericVector
|
|
3696
|
+
x <- paste(1:5000, collapse="+")
|
|
3697
|
+
as.matrix(list(a=1:2, b=2:3, c=x))
|
|
3698
|
+
## segfault in 2.1.1, silent truncation in 2.1.1 patched
|
|
3699
|
+
|
|
3700
|
+
|
|
3701
|
+
## weighted.residuals for glm fits (PR#7961)
|
|
3702
|
+
set.seed(1)
|
|
3703
|
+
x <- runif(10)
|
|
3704
|
+
y <- x + rnorm(10)
|
|
3705
|
+
w <- 0:9
|
|
3706
|
+
r1 <- weighted.residuals(lm(y ~ x, weights = w))
|
|
3707
|
+
r2 <- weighted.residuals(glm(y ~ x, weights = w))
|
|
3708
|
+
stopifnot(all.equal(r1, r2))
|
|
3709
|
+
## different in 2.1.1
|
|
3710
|
+
|
|
3711
|
+
|
|
3712
|
+
## errors in add1.{lm,glm} when adding vars with missing values(PR#8049)
|
|
3713
|
+
set.seed(2)
|
|
3714
|
+
y <- rnorm(10)
|
|
3715
|
+
x <- 1:10
|
|
3716
|
+
is.na(x[9]) <- TRUE
|
|
3717
|
+
|
|
3718
|
+
lm0 <- lm(y ~ 1)
|
|
3719
|
+
lm1 <- lm(y ~ 1, weights = rep(1, 10))
|
|
3720
|
+
|
|
3721
|
+
add1(lm0, scope = ~ x)
|
|
3722
|
+
add1(lm1, scope = ~ x) ## error in 2.1.1
|
|
3723
|
+
|
|
3724
|
+
glm0 <- glm(y ~ 1)
|
|
3725
|
+
glm1 <- glm(y ~ 1, weights = rep(1, 10))
|
|
3726
|
+
glm2 <- glm(y ~ 1, offset = rep(0, 10))
|
|
3727
|
+
|
|
3728
|
+
add1(glm0, scope = ~ x) ## error in 2.1.1
|
|
3729
|
+
add1(glm1, scope = ~ x) ## error in 2.1.1
|
|
3730
|
+
add1(glm2, scope = ~ x) ## error in 2.1.1
|
|
3731
|
+
##
|
|
3732
|
+
|
|
3733
|
+
|
|
3734
|
+
## levels<-.factor dropped other attributes.
|
|
3735
|
+
## Heinz Tuechler, R-help, 2005-07-18
|
|
3736
|
+
f1 <- factor(c("level c", "level b", "level a", "level c"), ordered=TRUE)
|
|
3737
|
+
attr(f1, "testattribute") <- "teststring"
|
|
3738
|
+
(old <- attributes(f1))
|
|
3739
|
+
levels(f1) <- c("L-A", "L-B", "L-C")
|
|
3740
|
+
f1
|
|
3741
|
+
(new <- attributes(f1))
|
|
3742
|
+
new$levels <- old$levels <- NULL
|
|
3743
|
+
stopifnot(identical(old, new))
|
|
3744
|
+
f2 <- factor(letters[1:4])
|
|
3745
|
+
levels(f2) <- as.character(c(1:3, NA))
|
|
3746
|
+
f2
|
|
3747
|
+
stopifnot(nlevels(f2) == 3)
|
|
3748
|
+
## dropped other attributes < 2.2.0.
|
|
3749
|
+
|
|
3750
|
+
|
|
3751
|
+
## regressed at one point in pre-2.2.0
|
|
3752
|
+
A <- matrix(pi, 0, 2)
|
|
3753
|
+
stopifnot(identical(dim(A), dim(format(A))))
|
|
3754
|
+
## dropped dim at one point
|
|
3755
|
+
|
|
3756
|
+
|
|
3757
|
+
## ls.diag with missing values (PR#8139)
|
|
3758
|
+
x <- matrix(c(1,-1,1,-1,1,-1,1,-1,1,-1, 1,2,3,4,5,6,7,8,9,10), 10, 2)
|
|
3759
|
+
y <- as.matrix(c(1,2,3,NA,3,4,3,4,5,4))
|
|
3760
|
+
wt <- c(1,1,1,1,1,1,1,1,1,0)
|
|
3761
|
+
regres <- lsfit(x, y, wt=wt)
|
|
3762
|
+
regdiag <- ls.diag(regres)
|
|
3763
|
+
## failed < 2.2.0.
|
|
3764
|
+
|
|
3765
|
+
|
|
3766
|
+
## window.default had an inappropriate tolerance
|
|
3767
|
+
a <- ts(1:5000, start = 0, freq = 10)
|
|
3768
|
+
b <- lag(a, 1)
|
|
3769
|
+
bb <- window(b, start = 0)
|
|
3770
|
+
stopifnot(length(bb) == length(a) - 1)
|
|
3771
|
+
## was length(a) - 2 in 2.1.1, since the tolerance was abs(start) * ts.end
|
|
3772
|
+
|
|
3773
|
+
|
|
3774
|
+
## subassignment of length zero vector to NULL gave garbage answer (PR#8157)
|
|
3775
|
+
x <- NULL
|
|
3776
|
+
x[[1]] <- numeric(0)
|
|
3777
|
+
stopifnot(length(x[[1]]) == 0)
|
|
3778
|
+
## failed < 2.2.0
|
|
3779
|
+
|
|
3780
|
+
|
|
3781
|
+
## some checks for raw in data frames and lists
|
|
3782
|
+
x <- charToRaw("test")
|
|
3783
|
+
(z <- data.frame(x))
|
|
3784
|
+
z$y <- x
|
|
3785
|
+
z[["y2"]] <- x
|
|
3786
|
+
z["y3"] <- x
|
|
3787
|
+
z
|
|
3788
|
+
## lists use separate code
|
|
3789
|
+
z <- list(x=x)
|
|
3790
|
+
z$y <- x
|
|
3791
|
+
z[["y2"]] <- x
|
|
3792
|
+
z["y3"] <- list(x)
|
|
3793
|
+
z
|
|
3794
|
+
## Not completely supported prior to 2.2.0
|
|
3795
|
+
|
|
3796
|
+
|
|
3797
|
+
### end of tests added in 2.2.0 ###
|
|
3798
|
+
|
|
3799
|
+
|
|
3800
|
+
## summary.matrix failed on some classed objects
|
|
3801
|
+
surv <- structure(c(2.06, 2.13, 0.09, 0.27, 1, 0.36, 3.04, 0.67, 0.35,
|
|
3802
|
+
0.24, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0),
|
|
3803
|
+
dim = c(10L, 2L),
|
|
3804
|
+
dimnames = list(NULL, c("time", "status")),
|
|
3805
|
+
type = "right", class = "Surv")
|
|
3806
|
+
summary(surv)
|
|
3807
|
+
## Had infinite recursion (sometimes segfault) on 2.2.0.
|
|
3808
|
+
|
|
3809
|
+
## need fuzz even for ">=" :
|
|
3810
|
+
set.seed(1)
|
|
3811
|
+
stopifnot(all.equal(chisq.test(cbind(1:0, c(7,16)), simulate.p = TRUE)$p.value,
|
|
3812
|
+
0.3368315842, tol = 1e-6))
|
|
3813
|
+
## some i686 platforms gave 0.00049975
|
|
3814
|
+
|
|
3815
|
+
|
|
3816
|
+
## PR#8228 image() failed on a matrix with all NAs
|
|
3817
|
+
image(z=matrix(NA, 1, 1), x=0:1, y=0:1)
|
|
3818
|
+
|
|
3819
|
+
|
|
3820
|
+
## read.fwf(header=TRUE) failed (PR#8226)
|
|
3821
|
+
ff <- tempfile()
|
|
3822
|
+
cat(file=ff, "A\tB\tC", "123456", "987654", sep="\n")
|
|
3823
|
+
z <- read.fwf(ff, width=c(1,2,3), header=TRUE)
|
|
3824
|
+
stopifnot(identical(names(z), LETTERS[1:3]))
|
|
3825
|
+
unlink(ff)
|
|
3826
|
+
## failed in <= 2.2.0
|
|
3827
|
+
|
|
3828
|
+
## diag() failed if matrix had NA dimnames
|
|
3829
|
+
x <- matrix(1, 2, 2)
|
|
3830
|
+
dimnames(x) <- list(c("a", NA), c("a", NA))
|
|
3831
|
+
diag(x)
|
|
3832
|
+
|
|
3833
|
+
|
|
3834
|
+
## colnames in pivoted decompositions (PR#8258)
|
|
3835
|
+
A <- 1:10
|
|
3836
|
+
X <- cbind(A,B=A^2, C=A^2-A, D=1)
|
|
3837
|
+
qrX <- qr(X)
|
|
3838
|
+
oo <- order(qrX$pivot)
|
|
3839
|
+
Q <- qr.Q(qrX)
|
|
3840
|
+
R <- qr.R(qrX)
|
|
3841
|
+
(z <- (Q%*%R)[,oo])
|
|
3842
|
+
stopifnot(identical(colnames(X), colnames(z)))
|
|
3843
|
+
|
|
3844
|
+
qrX <- qr(X, LAPACK=TRUE)
|
|
3845
|
+
oo <- order(qrX$pivot)
|
|
3846
|
+
Q <- qr.Q(qrX)
|
|
3847
|
+
R <- qr.R(qrX)
|
|
3848
|
+
(z <- (Q%*%R)[,oo])
|
|
3849
|
+
stopifnot(identical(colnames(X), colnames(z)))
|
|
3850
|
+
|
|
3851
|
+
Y <- crossprod(X)
|
|
3852
|
+
U <- chol(Y, pivot=TRUE)
|
|
3853
|
+
oo <- order(attr(U, "pivot"))
|
|
3854
|
+
(z <- t(U[,oo])%*% U[,oo])
|
|
3855
|
+
stopifnot(identical(colnames(X), colnames(z)))
|
|
3856
|
+
## unpivoted colnames in R <= 2.2.0
|
|
3857
|
+
|
|
3858
|
+
|
|
3859
|
+
## Im(-1) (PR#8272)
|
|
3860
|
+
stopifnot(all.equal(Im(c(1, 0, -1)), rep(0, 3)))
|
|
3861
|
+
## R <= 2.2.0 had Im and Arg the same for non-complex numbers
|
|
3862
|
+
|
|
3863
|
+
|
|
3864
|
+
## rounding errors in aggregate.ts
|
|
3865
|
+
aggregate(as.ts(c(1,2,3,4,5,6,7,8,9,10)),1/5,mean)
|
|
3866
|
+
## failed in 2.2.0
|
|
3867
|
+
|
|
3868
|
+
|
|
3869
|
+
## prcomp(tol=1e-6)
|
|
3870
|
+
set.seed(16)
|
|
3871
|
+
x <- matrix(runif(30),ncol=10)
|
|
3872
|
+
s <- prcomp(x, tol=1e-6)
|
|
3873
|
+
stopifnot(length(s$sdev) == 3, ncol(s$rotation) == 2)
|
|
3874
|
+
summary(s)
|
|
3875
|
+
## last failed in 2.2.0
|
|
3876
|
+
|
|
3877
|
+
|
|
3878
|
+
## mapply did not test type of MoreArgs
|
|
3879
|
+
try(mapply(rep,times=1:4, MoreArgs=42))
|
|
3880
|
+
## segfaulted in 2.2.0
|
|
3881
|
+
|
|
3882
|
+
|
|
3883
|
+
## qbinom had incorrect test for p with log=TRUE
|
|
3884
|
+
(z <- qbinom(-Inf, 1, 0.5, log.p = TRUE))
|
|
3885
|
+
stopifnot(is.finite(z))
|
|
3886
|
+
## was NaN in 2.2.0
|
|
3887
|
+
|
|
3888
|
+
|
|
3889
|
+
## t(.) with NULL dimnames
|
|
3890
|
+
x <- diag(2)
|
|
3891
|
+
dimnames(x) <- list(NULL, NULL)
|
|
3892
|
+
stopifnot(identical(x, t(x)),
|
|
3893
|
+
identical(dimnames(x), dimnames(t(array(3, 1, dimnames=list(NULL))))))## dropped the length-2 list till 2.2.0
|
|
3894
|
+
|
|
3895
|
+
|
|
3896
|
+
## infinite influence measures (PR#8367)
|
|
3897
|
+
data(occupationalStatus)
|
|
3898
|
+
Diag <- as.factor(diag(1:8))
|
|
3899
|
+
Rscore <- scale(as.numeric(row(occupationalStatus)), scale = FALSE)
|
|
3900
|
+
Cscore <- scale(as.numeric(col(occupationalStatus)), scale = FALSE)
|
|
3901
|
+
Uniform <- glm(Freq ~ origin + destination + Diag + Rscore:Cscore,
|
|
3902
|
+
family = poisson, data = occupationalStatus)
|
|
3903
|
+
Ind <- as.logical(diag(8))
|
|
3904
|
+
residuals(Uniform)[Ind] #zero/near-zero
|
|
3905
|
+
stopifnot(is.nan(rstandard(Uniform)[Ind]),
|
|
3906
|
+
is.nan(rstudent (Uniform)[Ind]),
|
|
3907
|
+
is.nan(dffits (Uniform)[Ind]),
|
|
3908
|
+
is.nan(covratio (Uniform)[Ind]),
|
|
3909
|
+
is.nan(cooks.distance(Uniform)[Ind]))
|
|
3910
|
+
## had infinities in 2.2.0 on some platforms
|
|
3911
|
+
## plot.lm() on <glm> objects:
|
|
3912
|
+
plot(Uniform) # last plot gives warning on h_ii ~= 1
|
|
3913
|
+
plot(Uniform, 6) # added 2006-01-10
|
|
3914
|
+
plot(Uniform, 5:6)# failed for a few days 2008-05
|
|
3915
|
+
plot(Uniform, 1:2, caption = "")# ditto
|
|
3916
|
+
##
|
|
3917
|
+
|
|
3918
|
+
|
|
3919
|
+
### end of tests added in 2.2.1 ###
|
|
3920
|
+
|
|
3921
|
+
## sub(fixed=TRUE), reported by Roger Peng 2005-12-21
|
|
3922
|
+
x <- 0:10
|
|
3923
|
+
v <- paste(x, "asdf", sep=".")
|
|
3924
|
+
(xx <- sub(".asdf", "", v, fixed = TRUE))
|
|
3925
|
+
stopifnot(nchar(xx) == nchar(x), xx == x)
|
|
3926
|
+
## had random trailing bytes from second element on in 2.2.1.
|
|
3927
|
+
## identical reported true, fixed in 2.3.0.
|
|
3928
|
+
|
|
3929
|
+
|
|
3930
|
+
## rbind on data frames with 0 rows (PR#8506)
|
|
3931
|
+
foo <- data.frame(x = 1:10, y = rnorm(10))
|
|
3932
|
+
bar1 <- rbind.data.frame(foo[1:5,], foo[numeric(0),])
|
|
3933
|
+
stopifnot(dim(bar1) == c(5,2))
|
|
3934
|
+
bar2 <- rbind.data.frame(a = foo[1:5,], b = foo[numeric(0),])
|
|
3935
|
+
stopifnot(dim(bar2) == c(5,2))
|
|
3936
|
+
## Last had 6 rows in 2.2.1, and was a corrupt data frame
|
|
3937
|
+
|
|
3938
|
+
## environments are recursive but cannot be indexed - all.equal.default()
|
|
3939
|
+
d <- data.frame(k=1:7, n=2:8, x=0:6)
|
|
3940
|
+
r <- glm(cbind(k, n-k) ~ x, family=binomial, data=d)
|
|
3941
|
+
stopifnot(all.equal(r,r))
|
|
3942
|
+
## failed in 2.2.1
|
|
3943
|
+
|
|
3944
|
+
### end of tests added in 2.2.1 patched ###
|
|
3945
|
+
|
|
3946
|
+
|
|
3947
|
+
## sort used to preserve inappropriate attributes and not always sort names.
|
|
3948
|
+
x <- runif(10)
|
|
3949
|
+
tsp(x) <- c(1,10,1)
|
|
3950
|
+
(z <- sort(x)) # kept tsp attribute
|
|
3951
|
+
stopifnot(is.null(attributes(z)))
|
|
3952
|
+
(z <- sort(x, method="quick")) # same
|
|
3953
|
+
stopifnot(is.null(attributes(z)))
|
|
3954
|
+
(z <- sort(x, partial = 1:10)) # same
|
|
3955
|
+
stopifnot(is.null(attributes(z)))
|
|
3956
|
+
|
|
3957
|
+
names(x) <- letters[1:10]
|
|
3958
|
+
o <- sort.list(x)
|
|
3959
|
+
z2 <- structure(c(x)[o], names=names(x)[o])
|
|
3960
|
+
(z <- sort(x)) # sorted names, dropped the tsp attribute
|
|
3961
|
+
stopifnot(identical(z, z2))
|
|
3962
|
+
(z <- sort(x, method="quick")) # sorted names, kept the tsp attribute.
|
|
3963
|
+
stopifnot(identical(z, z2))
|
|
3964
|
+
(z <- sort(x, partial = 1:10)) # did not sort names, kept tsp attribute
|
|
3965
|
+
stopifnot(is.null(attributes(z)))
|
|
3966
|
+
## fixed for 2.3.0 to sort names (except partial), drop all other attributes.
|
|
3967
|
+
|
|
3968
|
+
|
|
3969
|
+
## formatC on as.single (PR#8211)
|
|
3970
|
+
# not documented to work but someone tried it.
|
|
3971
|
+
(z <- formatC(as.single(1)))
|
|
3972
|
+
stopifnot(identical(z, "1"))
|
|
3973
|
+
## was wrong < 2.3.0
|
|
3974
|
+
|
|
3975
|
+
|
|
3976
|
+
## outer on factors was broken in pre-2.3.0
|
|
3977
|
+
x <- factor(1:3)
|
|
3978
|
+
outer(x, x, "!=")
|
|
3979
|
+
## failed 2005-10-17
|
|
3980
|
+
|
|
3981
|
+
|
|
3982
|
+
## add tests for < 0 shape in [dpqr]gamma
|
|
3983
|
+
dgamma(1, -2)
|
|
3984
|
+
pgamma(1, -2)
|
|
3985
|
+
qgamma(0.95, -2)
|
|
3986
|
+
rgamma(3, -20)
|
|
3987
|
+
## all errors < 2.1.1, now NaNs
|
|
3988
|
+
|
|
3989
|
+
|
|
3990
|
+
## Make sure reference to local environment is serialized
|
|
3991
|
+
f <- function() { function(){} }
|
|
3992
|
+
serialize(f(), NULL)
|
|
3993
|
+
##
|
|
3994
|
+
|
|
3995
|
+
|
|
3996
|
+
## dummy_vfprintf with overlong format
|
|
3997
|
+
xx <- paste(rep("a", 10000), collapse="+")
|
|
3998
|
+
con <- gzfile("test.gz", "w")
|
|
3999
|
+
writeLines(xx, con)
|
|
4000
|
+
close(con)
|
|
4001
|
+
unlink("test.gz")
|
|
4002
|
+
## segfaulted in 2.2.0 on some x86_64 systems.
|
|
4003
|
+
|
|
4004
|
+
|
|
4005
|
+
## format() with *.marks:
|
|
4006
|
+
x <- 1.2345 + 10^(0:5)
|
|
4007
|
+
ff <- format(x, width = 11, big.mark = "'")
|
|
4008
|
+
stopifnot(nchar(ff) == 12)
|
|
4009
|
+
## small marks test
|
|
4010
|
+
f2 <- format(x, big.mark = "'", small.mark="_", small.interval = 2)
|
|
4011
|
+
nc <- nchar(f2)
|
|
4012
|
+
stopifnot(substring(f2, nc,nc) != "_", # no traling small mark
|
|
4013
|
+
nc == nc[1])# all the same
|
|
4014
|
+
fc <- formatC(1.234 + 10^(0:8), format="fg", width=11, big.mark = "'")
|
|
4015
|
+
stopifnot(nchar(fc) == 11)
|
|
4016
|
+
## had non-adjusted strings before 2.3.0
|
|
4017
|
+
|
|
4018
|
+
|
|
4019
|
+
## data.matrix on zero-length columns
|
|
4020
|
+
DF <- data.frame(x=c("a", "b"), y=2:3)[FALSE,]
|
|
4021
|
+
stopifnot(is.numeric(data.matrix(DF)))
|
|
4022
|
+
# was logical in 2.2.1.
|
|
4023
|
+
DF <- data.frame(a=I(character(0)))
|
|
4024
|
+
X <- data.matrix(DF)
|
|
4025
|
+
stopifnot(is.numeric(X))
|
|
4026
|
+
## gave logical matrix in 2.2.1.
|
|
4027
|
+
|
|
4028
|
+
stopifnot(pbirthday(950, coincident=250) == 0,
|
|
4029
|
+
pbirthday(950, coincident=200) > 0)
|
|
4030
|
+
## gave error before 2.3.0
|
|
4031
|
+
|
|
4032
|
+
|
|
4033
|
+
## raw matrices (PR#8529/30)
|
|
4034
|
+
v <- as.raw(c(1:6))
|
|
4035
|
+
dim(v) <- c(2,3)
|
|
4036
|
+
dimnames(v) <- list(c("x","y"), c("P", "Q", "R"))
|
|
4037
|
+
v
|
|
4038
|
+
s <- as.raw(c(11:16))
|
|
4039
|
+
dim(s) <- c(2,3)
|
|
4040
|
+
s
|
|
4041
|
+
rbind(s,v,v)
|
|
4042
|
+
(m <- cbind(s,v,v,s))
|
|
4043
|
+
m[2,4] <- as.raw(254)
|
|
4044
|
+
m
|
|
4045
|
+
m[1:2,2:4] <- s
|
|
4046
|
+
m
|
|
4047
|
+
## unimplemented before 2.3.0
|
|
4048
|
+
|
|
4049
|
+
|
|
4050
|
+
## window with non-overlapping ranges (PR#8545)
|
|
4051
|
+
test <- ts(1:144, start=c(1,1), frequency=12)
|
|
4052
|
+
window(test, start=c(15,1), end=c(17,1), extend=TRUE)
|
|
4053
|
+
## failed < 2.3.0
|
|
4054
|
+
|
|
4055
|
+
|
|
4056
|
+
## pbinom(size=0) gave NaN (PR#8560)
|
|
4057
|
+
x <- c(-1,0,1,2)
|
|
4058
|
+
stopifnot(identical(pbinom(x, size = 0, p = 0.5), c(0,1,1,1)))
|
|
4059
|
+
## 2.2.1 gave NaN in all cases (forced explicitly in C code).
|
|
4060
|
+
|
|
4061
|
+
|
|
4062
|
+
## Limits on [dpqr]nbinom and [dqpr]geom
|
|
4063
|
+
stopifnot(is.nan(dnbinom(0, 1, 0)), dnbinom(0, 1, 1) == 1,
|
|
4064
|
+
pnbinom(c(-1, 0, 1), 1, 1) == c(0, 1, 1),
|
|
4065
|
+
is.nan(pnbinom(0, 1, 0)),
|
|
4066
|
+
qnbinom(0.5, 1, 1) == 0,
|
|
4067
|
+
is.nan(qnbinom(0.5, 1, 0)),
|
|
4068
|
+
is.finite(rnbinom(1, 1, 1)),
|
|
4069
|
+
!is.finite(rnbinom(1, 1, 0)))
|
|
4070
|
+
## d allowed p=0, [pq] disallowed p=1 for R < 2.3.0, r gave NaN for p=1.
|
|
4071
|
+
stopifnot(is.nan(dgeom(0, 0)), dgeom(0, 1) == 1,
|
|
4072
|
+
pgeom(c(-1, 0, 1), 1) == c(0, 1, 1), is.nan(pgeom(0, 0)),
|
|
4073
|
+
qgeom(0.5, 1) == 0, is.nan(qgeom(0.5, 0)),
|
|
4074
|
+
is.finite(rgeom(1, 1)),
|
|
4075
|
+
!is.finite(rgeom(1, 0)))
|
|
4076
|
+
|
|
4077
|
+
|
|
4078
|
+
## A response to PR#8528 incorrectly claimed these to be wrong.
|
|
4079
|
+
stopifnot(all.equal(df(0, 2, 2), 1))
|
|
4080
|
+
stopifnot(is.infinite(df(0, 1.3, 2)))
|
|
4081
|
+
x <- 1e-170
|
|
4082
|
+
stopifnot(all.equal(pbeta(x,x,x), 0.5))
|
|
4083
|
+
## just a regression check.
|
|
4084
|
+
## This underflowed
|
|
4085
|
+
stopifnot(all.equal(dbeta(x,x,x), 0.5))
|
|
4086
|
+
## this was slow
|
|
4087
|
+
stopifnot(system.time(qnbinom(1e-10, 1e3, 1e-7))[3] < 0.1)
|
|
4088
|
+
## but this failed
|
|
4089
|
+
qnbinom(0.5, 10000000000, 0.000000002)
|
|
4090
|
+
## infinite-looped in 2.2.1 (answer is approx 4e18)
|
|
4091
|
+
qpois(0.9, 1e50)
|
|
4092
|
+
## infinite-looped in 2.2.1
|
|
4093
|
+
z <- 10^seq(10, 300, 10)
|
|
4094
|
+
stopifnot(all.equal(pt(-z, 1, log=TRUE), pcauchy(-z, 1, log=TRUE)))
|
|
4095
|
+
## failed at about 1e150 in 2.2.1
|
|
4096
|
+
stopifnot(pt(-1e200, 0.001) > 0)
|
|
4097
|
+
## was 0 in 2.2.1, should be about 31%
|
|
4098
|
+
|
|
4099
|
+
|
|
4100
|
+
## all.equal.numeric overflowed for large integers
|
|
4101
|
+
set.seed(1); r1 <- .Random.seed
|
|
4102
|
+
set.seed(2); r2 <- .Random.seed
|
|
4103
|
+
stopifnot(is.character(all.equal(r1, r2)))
|
|
4104
|
+
## all.equal() gave NA in 2.2.1
|
|
4105
|
+
|
|
4106
|
+
|
|
4107
|
+
## support for raw indices in for() was added in 2.3.0
|
|
4108
|
+
xx <- as.raw(40:48)
|
|
4109
|
+
for(i in xx) print(i)
|
|
4110
|
+
## was error < 2.3.0
|
|
4111
|
+
|
|
4112
|
+
|
|
4113
|
+
## as.list on a symbol, for S-compatibility
|
|
4114
|
+
as.list(as.name("data.frame"))
|
|
4115
|
+
## was error in 2.2.1
|
|
4116
|
+
|
|
4117
|
+
|
|
4118
|
+
## min ignored INT_MAX, (PR#8731)
|
|
4119
|
+
stopifnot(min(.Machine$integer.max) == .Machine$integer.max)
|
|
4120
|
+
stopifnot(max(-.Machine$integer.max) == -.Machine$integer.max)
|
|
4121
|
+
op <- options(warn=2)
|
|
4122
|
+
min(Inf)
|
|
4123
|
+
max(-Inf)
|
|
4124
|
+
options(op)
|
|
4125
|
+
## were +/-Inf with warning in 2.2.1.
|
|
4126
|
+
|
|
4127
|
+
|
|
4128
|
+
## PR#8718: invalid usage in R >= 2.7.0
|
|
4129
|
+
#a <- matrix(2,2,2)
|
|
4130
|
+
#apply(a,1,"$","a")
|
|
4131
|
+
#apply(a,1,sum)
|
|
4132
|
+
## first apply was corrupting apply() code in 2.2.1
|
|
4133
|
+
|
|
4134
|
+
|
|
4135
|
+
## NULL results in apply()
|
|
4136
|
+
apply(as.matrix(1), 1, function(x) NULL)
|
|
4137
|
+
## was error in 2.2.1.
|
|
4138
|
+
|
|
4139
|
+
|
|
4140
|
+
## sum on data frames (PR#8385)
|
|
4141
|
+
DF <- data.frame(m1=1:2, m2=3:4)
|
|
4142
|
+
sum(DF)
|
|
4143
|
+
sum(DF=DF) # needed arg named x
|
|
4144
|
+
sum(DF, DF) # failed
|
|
4145
|
+
DF[1, 1] <- NA
|
|
4146
|
+
stopifnot(is.na(sum(DF)), sum(DF, na.rm=TRUE) == 9)
|
|
4147
|
+
## failures < 2.4.0
|
|
4148
|
+
|
|
4149
|
+
## plot.lm
|
|
4150
|
+
# which=4 failed in R 1.0.1
|
|
4151
|
+
par(mfrow=c(1,1), oma= rep(0,4))
|
|
4152
|
+
summary(lm.fm2 <- lm(Employed ~ . - Population - GNP.deflator, data = longley))
|
|
4153
|
+
for(wh in 1:6) plot(lm.fm2, which = wh)
|
|
4154
|
+
|
|
4155
|
+
op <- par(mfrow = c(2,2), mar = .1+c(3,3,2,1), mgp = c(1.5, .6, 0))
|
|
4156
|
+
y <- rt(200, df= 3)
|
|
4157
|
+
plot(lm(y ~ 1))
|
|
4158
|
+
par(op)
|
|
4159
|
+
## 4th plot (which = 5: "leverages") failed in 2.2.0 <= R <= 2.3.0
|
|
4160
|
+
|
|
4161
|
+
|
|
4162
|
+
## Re-fix PR#8506
|
|
4163
|
+
z <- rbind(x = data.frame(a = 1, b = 2), y = data.frame(a = 1, b = 2))
|
|
4164
|
+
stopifnot(row.names(z) == c("x", "y"))
|
|
4165
|
+
## were NAs (and failed to print) in 2.3.0
|
|
4166
|
+
|
|
4167
|
+
dd <- data.frame(x = 3:4)
|
|
4168
|
+
stopifnot(identical(rownames(dd), row.names(dd)),
|
|
4169
|
+
identical(rownames(dd), c("1", "2")))
|
|
4170
|
+
## one was integer in an intermediate version of "pre 2.4.0"
|
|
4171
|
+
|
|
4172
|
+
|
|
4173
|
+
## mean on integer vector ignored NAs
|
|
4174
|
+
stopifnot(is.na(mean(NA)))
|
|
4175
|
+
## failed in R 2.3.0
|
|
4176
|
+
|
|
4177
|
+
|
|
4178
|
+
## title etc failed if passed col etc of length > 1
|
|
4179
|
+
plot(1:2)
|
|
4180
|
+
title("foo", col=1:3)
|
|
4181
|
+
title("foo", cex=1:3)
|
|
4182
|
+
title("foo", lty=1:3)
|
|
4183
|
+
title("foo", lwd=1:3)
|
|
4184
|
+
title("foo", bg=4:7)
|
|
4185
|
+
## threw errors in R <= 2.3.0
|
|
4186
|
+
|
|
4187
|
+
|
|
4188
|
+
## glm did not allow array offsets
|
|
4189
|
+
df1 <- data.frame(u=1:10,
|
|
4190
|
+
v=rpois(10,10),
|
|
4191
|
+
z=array(1,10, dimnames=list(1:10)))
|
|
4192
|
+
glm(v ~ u+offset(log(z)), data=df1, family=poisson)
|
|
4193
|
+
## was error in R <= 2.3.0
|
|
4194
|
+
|
|
4195
|
+
|
|
4196
|
+
## invalid values of a logical vector from bindingIsLocked
|
|
4197
|
+
## Martin Morgan, R-devel, 2006-05-14
|
|
4198
|
+
e <- new.env()
|
|
4199
|
+
e$x <- 1
|
|
4200
|
+
e$y <- 2
|
|
4201
|
+
lockBinding("x", e)
|
|
4202
|
+
stopifnot(bindingIsLocked("x", e), bindingIsLocked("x", e)==TRUE,
|
|
4203
|
+
!bindingIsLocked("y", e), bindingIsLocked("y", e)==FALSE)
|
|
4204
|
+
## on some systems in R <= 2.3.0, bindingIsLocked("x", e)==TRUE was false
|
|
4205
|
+
|
|
4206
|
+
|
|
4207
|
+
## ccf on non-aligned time series
|
|
4208
|
+
x <- ts(rnorm(100), start=1)
|
|
4209
|
+
y <- ts(rnorm(120), start=3)
|
|
4210
|
+
ccf(x, y)
|
|
4211
|
+
## needed na.action=na.contiguous in 2.3.0
|
|
4212
|
+
|
|
4213
|
+
|
|
4214
|
+
## merge.data.frame was not making column names unique when
|
|
4215
|
+
## doing a Cartesian product.
|
|
4216
|
+
DF <- data.frame(col=1:3)
|
|
4217
|
+
DF2 <- merge(DF, DF, by=numeric(0))
|
|
4218
|
+
stopifnot(identical(names(DF2), c("col.x", "col.y")))
|
|
4219
|
+
## both were 'col' in 2.3.0.
|
|
4220
|
+
|
|
4221
|
+
|
|
4222
|
+
## [pq]unif were not consistent on infinite ranges.
|
|
4223
|
+
stopifnot(is.na(qunif(.5, 0, Inf)))
|
|
4224
|
+
## was Inf in 2.3.1.
|
|
4225
|
+
stopifnot(is.na(punif(1, 0, Inf)))
|
|
4226
|
+
## was 0 in 2.3.1
|
|
4227
|
+
## and failed on zero ranges despite the documentation.
|
|
4228
|
+
stopifnot(punif(c(0, 1, 2), 1, 1) == c(0, 1, 1))
|
|
4229
|
+
stopifnot(qunif(c(0, 0.5, 1), 1, 1) == 1)
|
|
4230
|
+
## were all NaN on 2.3.1
|
|
4231
|
+
|
|
4232
|
+
|
|
4233
|
+
## cbind segfaulted if coercion of the result to list failed.
|
|
4234
|
+
cbind(as.name("foo"), 1:3)
|
|
4235
|
+
# segfaulted in 2.3.1
|
|
4236
|
+
(x <- cbind(y ~ x, 1))
|
|
4237
|
+
x[,1]
|
|
4238
|
+
## last is 3 x 2 list matrix
|
|
4239
|
+
|
|
4240
|
+
|
|
4241
|
+
## empty point set
|
|
4242
|
+
r <- xy.coords(numeric(0))
|
|
4243
|
+
## gave an error with misleading message in 2.3.1
|
|
4244
|
+
|
|
4245
|
+
|
|
4246
|
+
## [<- could extend a ts but not change tsp.
|
|
4247
|
+
xx <- x <- ts(rnorm(6), frequency=7)
|
|
4248
|
+
try(x[8] <- NA)
|
|
4249
|
+
stopifnot(identical(x, xx))
|
|
4250
|
+
## Allowed in R < 2.4.0, but corrupted tsp.
|
|
4251
|
+
|
|
4252
|
+
|
|
4253
|
+
## This only "works" by having an S3 generic use the registry
|
|
4254
|
+
## of another S3 generic, which seems a very bad idea.
|
|
4255
|
+
## ## Looking up generic in UseMethod
|
|
4256
|
+
## mycoef <- function(object, ....) UseMethod("coef")
|
|
4257
|
+
## x <- list(coefficients=1:3)
|
|
4258
|
+
## mycoef(x)
|
|
4259
|
+
## ## failed to find default method < 2.4.0
|
|
4260
|
+
|
|
4261
|
+
|
|
4262
|
+
## regression tests on changes to model.frame and model.matrix
|
|
4263
|
+
A <- data.frame(y = 1:10, z = 1:10+1i,
|
|
4264
|
+
x = rep(c("a", "b"), each = 5),
|
|
4265
|
+
r = as.raw(1:10),
|
|
4266
|
+
stringsAsFactors = FALSE)
|
|
4267
|
+
model.frame(z ~ x+y+r, data = A) # includes character, raw and complex
|
|
4268
|
+
lm(z ~ x+y, data = A) # complex response, character RHS
|
|
4269
|
+
# but we do not allow complex nor raw variables on the rhs
|
|
4270
|
+
stopifnot(inherits(try(model.matrix(y ~ x+z, data = A)), "try-error"))
|
|
4271
|
+
stopifnot(inherits(try(model.matrix(y ~ r, data = A)), "try-error"))
|
|
4272
|
+
## new in 2.4.0
|
|
4273
|
+
|
|
4274
|
+
|
|
4275
|
+
## tests of stringsAsFactors
|
|
4276
|
+
a <- letters[1:8]
|
|
4277
|
+
aa <- matrix(a, 4, 2)
|
|
4278
|
+
aaa <- list(aaa=letters[20:23])
|
|
4279
|
+
colnames(aa) <- paste("aa", 1:2, sep=".")
|
|
4280
|
+
(A <- data.frame(a=a[1:4], aa, aaa, stringsAsFactors = FALSE))
|
|
4281
|
+
stopifnot(all(sapply(A, class) == "character"))
|
|
4282
|
+
stopifnot(class(as.data.frame(list(a=a), stringsAsFactors = TRUE)$a)
|
|
4283
|
+
== "factor")
|
|
4284
|
+
## new in 2.4.0
|
|
4285
|
+
|
|
4286
|
+
|
|
4287
|
+
## failure to duplicate in environment<-().
|
|
4288
|
+
## Thomas Petzoldt, R-help, 2006-06-23.
|
|
4289
|
+
envfun <- function(L) {
|
|
4290
|
+
p <- parent.frame()
|
|
4291
|
+
assign("test", L$test, p)
|
|
4292
|
+
environment(p$test) <- p
|
|
4293
|
+
}
|
|
4294
|
+
solver <- function(L) envfun(L)
|
|
4295
|
+
L <- list(test = function() 1 + 2)
|
|
4296
|
+
|
|
4297
|
+
environment(L$test)
|
|
4298
|
+
solver(L)
|
|
4299
|
+
(e <- environment(L$test))
|
|
4300
|
+
stopifnot(identical(e, .GlobalEnv))
|
|
4301
|
+
## failed to look at NAMED
|
|
4302
|
+
|
|
4303
|
+
|
|
4304
|
+
## sort.list(<a factor>, method="radix") stopped working at some point
|
|
4305
|
+
x <- factor(sample(letters, 1000, replace=TRUE))
|
|
4306
|
+
o <- sort.list(x, method = "radix")
|
|
4307
|
+
## failed in 2.3.1
|
|
4308
|
+
|
|
4309
|
+
|
|
4310
|
+
## qt() bisection search: PR#9050
|
|
4311
|
+
x <- -2:2
|
|
4312
|
+
stopifnot(isTRUE(all.equal(x, qt(pt(x, df=20, ncp=1),df=20,ncp=1))))
|
|
4313
|
+
## failed in 2.3.1
|
|
4314
|
+
|
|
4315
|
+
|
|
4316
|
+
## poly() didn't pass 'raw' to polym()
|
|
4317
|
+
x <- -3:3
|
|
4318
|
+
y <- 10*(1:7)
|
|
4319
|
+
stopifnot(identical(poly (x,y, degree = 2, raw = TRUE),
|
|
4320
|
+
polym(x,y, degree = 2, raw = TRUE)))
|
|
4321
|
+
## failed in 2.3.1
|
|
4322
|
+
|
|
4323
|
+
|
|
4324
|
+
## plot.xy( type = "s" | "S" ) was missing an initial test: PR#9046
|
|
4325
|
+
types <- c("p", "l", "b", "o", "h", "s", "S")
|
|
4326
|
+
p <- palette(hcl(h = seq(30,330, length= length(types))))
|
|
4327
|
+
plot(c(1,6), c(-.4, 1.5), type="n", ann = FALSE); off <- 1:6 / 16
|
|
4328
|
+
for(i in seq(types)) {
|
|
4329
|
+
lines(i*off /-1:4, type = types[i], col = i, pch = types[i])
|
|
4330
|
+
mtext(types[i], 4, line= .5, at = i*off[6]/4, col = i, las = 1)
|
|
4331
|
+
}
|
|
4332
|
+
palette(p)# restored to previous
|
|
4333
|
+
## failed in 2.3.1
|
|
4334
|
+
|
|
4335
|
+
|
|
4336
|
+
## qf for large df2
|
|
4337
|
+
stopifnot(isTRUE(all.equal(qf(0.9,df1=1,df2=1e10,ncp=0),
|
|
4338
|
+
qf(0.9,df1=1,df2=1e10))))
|
|
4339
|
+
## failed in 2.3.1
|
|
4340
|
+
|
|
4341
|
+
|
|
4342
|
+
## some regression tests of as.vector() and as.list()
|
|
4343
|
+
x <- list(a=1, b=2)
|
|
4344
|
+
stopifnot(identical(x, as.list(x))) # was said to drop names
|
|
4345
|
+
x <- pairlist(a=1, b=2)
|
|
4346
|
+
stopifnot(is.list(x))
|
|
4347
|
+
xx <- as.vector(x, "list")
|
|
4348
|
+
stopifnot(typeof(xx) == "list")
|
|
4349
|
+
stopifnot(!identical(x, xx))
|
|
4350
|
+
stopifnot(identical(names(x), names(xx)))
|
|
4351
|
+
|
|
4352
|
+
x <- expression(a=2+3, b=pi)
|
|
4353
|
+
xx <- as.vector(x, "list") # not allowed in 2.3.1
|
|
4354
|
+
stopifnot(identical(names(x), names(xx)))
|
|
4355
|
+
xx <- as.list(x) # lost names in 2.3.1
|
|
4356
|
+
stopifnot(identical(names(x), names(xx)))
|
|
4357
|
+
## was incorrectly documented in 2.3.1
|
|
4358
|
+
|
|
4359
|
+
|
|
4360
|
+
## subsetting arrays preserved attributes, although it did not for matrices
|
|
4361
|
+
x <- structure(1:8, names=letters[1:8], comm="a comment", dim = c(2L,2L,2L))
|
|
4362
|
+
stopifnot(is.null(attr(x[,,], "comm")))
|
|
4363
|
+
x <- structure(1:8, names=letters[1:8], comm="a comment", dim = c(2L,4L))
|
|
4364
|
+
stopifnot(is.null(attr(x[,], "comm")))
|
|
4365
|
+
x <- structure(1:8, names=letters[1:8], comm="a comment")
|
|
4366
|
+
stopifnot(!is.null(attr(x[], "comm"))) # this does preserve
|
|
4367
|
+
stopifnot(is.null(attr(x[1:8], "comm")))
|
|
4368
|
+
## 2.3.1 preserved the first.
|
|
4369
|
+
|
|
4370
|
+
|
|
4371
|
+
## diff() for POSIX(cl)t :
|
|
4372
|
+
ds1 <- diff(lsec <- .leap.seconds[1:12])
|
|
4373
|
+
(ds2 <- diff(llsec <- as.POSIXlt(lsec))) # in days
|
|
4374
|
+
stopifnot(ds1 == ds2)
|
|
4375
|
+
## gave different result for POSIXlt up to 2.3.1
|
|
4376
|
+
|
|
4377
|
+
|
|
4378
|
+
## format(trim = TRUE, big.mark=",") did not work correctly (PR#9118)
|
|
4379
|
+
(a <- format(c(-1,1,10,999,1e6), trim=TRUE))
|
|
4380
|
+
(b <- format(c(-1,1,10,999,1e6), big.mark=",", trim=TRUE))
|
|
4381
|
+
stopifnot(a[1:4] == b[1:4])
|
|
4382
|
+
## no trim in 2.3.1 if big.mark was used.
|
|
4383
|
+
|
|
4384
|
+
|
|
4385
|
+
## residuals.glm needed 'y = TRUE' (PR#9124)
|
|
4386
|
+
# example for poisson GLM from ?glm
|
|
4387
|
+
d.AD <- data.frame(treatment = gl(3,3), outcome = gl(3,1,9),
|
|
4388
|
+
counts = c(18,17,15,20,10,20,25,13,12))
|
|
4389
|
+
glm.D93 <- glm(counts ~ outcome + treatment, family = poisson,
|
|
4390
|
+
data = d.AD, y = FALSE)
|
|
4391
|
+
residuals(glm.D93, type = "working")
|
|
4392
|
+
residuals(glm.D93, type = "partial")
|
|
4393
|
+
residuals(glm.D93, type = "response")
|
|
4394
|
+
residuals(glm.D93, type = "deviance")
|
|
4395
|
+
residuals(glm.D93, type = "pearson")
|
|
4396
|
+
## all failed in 2.3.1
|
|
4397
|
+
|
|
4398
|
+
|
|
4399
|
+
## anova.mlm failed
|
|
4400
|
+
dat<-matrix( c(9,7,8,8,12,11,8,13, 6,5,6,3,6,7,10,9,
|
|
4401
|
+
10,13,8,13,12,14,14,16, 9,11,13,14,16,12,15,14),
|
|
4402
|
+
ncol = 4, dimnames = list(s=1:8, c=1:4))
|
|
4403
|
+
mlmfit <- lm(dat ~ 1)
|
|
4404
|
+
anova(mlmfit, X = ~1)
|
|
4405
|
+
## worked in 2.2.1, failed in 2.3.1
|
|
4406
|
+
|
|
4407
|
+
|
|
4408
|
+
## stopifnot(<expr>) for a long expression (do not wrap the following line!!):
|
|
4409
|
+
r <- try(stopifnot(c("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O")),
|
|
4410
|
+
silent = TRUE)
|
|
4411
|
+
if(length(grep("TRUE.*TRUE",r)))
|
|
4412
|
+
stop("stopifnot() gives bad message for long expression")
|
|
4413
|
+
## happened in 2.3.[01]
|
|
4414
|
+
|
|
4415
|
+
|
|
4416
|
+
## rownames on 0-extent matrix (PR#9136)
|
|
4417
|
+
A <- matrix(NA, 0, 0)
|
|
4418
|
+
stopifnot(identical(rownames(A, do.NULL = FALSE), character(0)))
|
|
4419
|
+
stopifnot(identical(colnames(A, do.NULL = FALSE), character(0)))
|
|
4420
|
+
## were 'row' etc in 2.3.1.
|
|
4421
|
+
|
|
4422
|
+
|
|
4423
|
+
## grep(value = TRUE) sometimes preserved names, sometimes not
|
|
4424
|
+
x <- 1:3
|
|
4425
|
+
xx <- letters[1:3]
|
|
4426
|
+
names(x) <- names(xx) <- xx
|
|
4427
|
+
z <- grep(1, x, value = TRUE)
|
|
4428
|
+
stopifnot(!is.null(names(z)), names(z) == xx[1])
|
|
4429
|
+
z <- grep(1, x, value = TRUE, perl = TRUE)
|
|
4430
|
+
stopifnot(!is.null(names(z)), names(z) == xx[1])
|
|
4431
|
+
z <- grep("a", xx, value = TRUE)
|
|
4432
|
+
stopifnot(!is.null(names(z)), names(z) == xx[1])
|
|
4433
|
+
z <- grep("a", xx, value = TRUE, perl = TRUE)
|
|
4434
|
+
stopifnot(!is.null(names(z)), names(z) == xx[1])
|
|
4435
|
+
z <- agrep("a", xx, value = TRUE)
|
|
4436
|
+
stopifnot(!is.null(names(z)), names(z) == xx[1:3])
|
|
4437
|
+
## perl=TRUE, agrep did not in 2.3.1, all did not for pre-2.4.0
|
|
4438
|
+
x[2] <- xx[2] <- NA
|
|
4439
|
+
z <- grep(NA, x, value = TRUE)
|
|
4440
|
+
stopifnot(identical(names(z), names(xx)))
|
|
4441
|
+
z <- grep(NA, x, value = TRUE, perl = TRUE)
|
|
4442
|
+
stopifnot(identical(names(z), names(xx)))
|
|
4443
|
+
z <- grep(NA, xx, value = TRUE)
|
|
4444
|
+
stopifnot(identical(names(z), names(xx)))
|
|
4445
|
+
z <- grep(NA, xx, value = TRUE, perl = TRUE)
|
|
4446
|
+
stopifnot(identical(names(z), names(xx)))
|
|
4447
|
+
z <- agrep(NA, xx, value = TRUE)
|
|
4448
|
+
stopifnot(identical(names(z), names(xx)))
|
|
4449
|
+
## always dropped names on NA matches < 2.4.0
|
|
4450
|
+
|
|
4451
|
+
|
|
4452
|
+
oo <- options(max.print = 20)
|
|
4453
|
+
cc <- capture.output(women)
|
|
4454
|
+
options(oo)
|
|
4455
|
+
c2 <- capture.output(women[1:10,])
|
|
4456
|
+
stopifnot(length(cc) == 1 + 20/2 + 1,
|
|
4457
|
+
identical(cc[-12], c2[1:11]))
|
|
4458
|
+
## was wrong for some days in Aug.2006
|
|
4459
|
+
|
|
4460
|
+
|
|
4461
|
+
## errors in identical()
|
|
4462
|
+
stopifnot(!identical(pairlist(a=1, b=2), pairlist(a=1, aa=2)))
|
|
4463
|
+
stopifnot(!identical(structure(pi, a=1, b=2), structure(pi, a=1, aa=2)))
|
|
4464
|
+
stopifnot(identical(structure(pi, a=1, b=2), structure(pi, b=2, a=1)))
|
|
4465
|
+
## ignored names of pairlists, but tested order of attributes < 2.4.0
|
|
4466
|
+
|
|
4467
|
+
|
|
4468
|
+
## failed subassign could leave '*tmp*' around
|
|
4469
|
+
## Parlamis Franklin, R-devel, 2006-09-20
|
|
4470
|
+
test <- 1:10
|
|
4471
|
+
try(test[2:4] <- ls) # fails
|
|
4472
|
+
stopifnot(!exists("*tmp*", where=1))
|
|
4473
|
+
## was true < 2.4.0
|
|
4474
|
+
|
|
4475
|
+
|
|
4476
|
+
## merge on zero-row data frames
|
|
4477
|
+
L3 <- LETTERS[1:3]
|
|
4478
|
+
d <- data.frame(cbind(x=1, y=1), fac=sample(L3, 1, repl=TRUE))
|
|
4479
|
+
e <- d[-1,]
|
|
4480
|
+
merge(d, e, by.x = "x", by.y = "x", all.x = TRUE)
|
|
4481
|
+
## not allowed <= 2.4.0
|
|
4482
|
+
|
|
4483
|
+
|
|
4484
|
+
## PR#9313
|
|
4485
|
+
library(stats4)
|
|
4486
|
+
g <- function(x, y) -cos(x) + abs(y)
|
|
4487
|
+
fit1 <- mle(g, start = list(x = 0, y = 7))
|
|
4488
|
+
fit2 <- mle(g, start = list(y = 7, x = 0))
|
|
4489
|
+
stopifnot(all.equal(coef(fit1), coef(fit2)))
|
|
4490
|
+
## Found different solutions in 2.4.0, as names were not remapped in fit2
|
|
4491
|
+
|
|
4492
|
+
|
|
4493
|
+
## PR#9446
|
|
4494
|
+
rbind( data.frame(x=1), list(x=2) )
|
|
4495
|
+
## was error in 2.4.0 as list gave double row names.
|
|
4496
|
+
|
|
4497
|
+
|
|
4498
|
+
## extreme case
|
|
4499
|
+
bs <- boxplot.stats(c(1,Inf,Inf,Inf))
|
|
4500
|
+
## gave an error in 2.4.0
|
|
4501
|
+
|
|
4502
|
+
|
|
4503
|
+
## t.test with one group of size one
|
|
4504
|
+
x <- c(23,25,29,27,30,30)
|
|
4505
|
+
t.test(x=x[1], y=x[-1], var.equal=TRUE)
|
|
4506
|
+
t.test(y=x[1], x=x[-1], var.equal=TRUE)
|
|
4507
|
+
## failed in 2.4.0
|
|
4508
|
+
|
|
4509
|
+
|
|
4510
|
+
## corrupted "ts" objects
|
|
4511
|
+
structure(1:3, class="ts")
|
|
4512
|
+
## failed in print method < 2.4.1
|
|
4513
|
+
|
|
4514
|
+
|
|
4515
|
+
## PR#9399
|
|
4516
|
+
x1 <- "x2"
|
|
4517
|
+
x2 <- pi
|
|
4518
|
+
rm(x1) # removes x1, not x2
|
|
4519
|
+
stopifnot(!exists("x1", .GlobalEnv), exists("x2", .GlobalEnv))
|
|
4520
|
+
rm("x2")
|
|
4521
|
+
# incorrectly documented <= 2.4.0
|
|
4522
|
+
a <- b <- c <- 1
|
|
4523
|
+
z <- try(rm(c("a", "b")))
|
|
4524
|
+
stopifnot(inherits(z, "try-error"))
|
|
4525
|
+
## removed 'a', 'b' and 'c' in 2.4.0
|
|
4526
|
+
|
|
4527
|
+
### end of tests added in 2.4.1 ###
|
|
4528
|
+
|
|
4529
|
+
|
|
4530
|
+
## translation error in optimize (PR#9438)
|
|
4531
|
+
ex2 <- function(x) log((18/41) * x - 2 * x^2) +
|
|
4532
|
+
16 * log(4 * x^2 - (36/41) * x + (9/41)) +
|
|
4533
|
+
24 * log((23/82) + (18/41) * x - 2 * x^2)
|
|
4534
|
+
opt <- optimise(ex2, lower = 0, upper = 9/41, maximum = TRUE)$maximum
|
|
4535
|
+
# there are two global maxima
|
|
4536
|
+
stopifnot(abs(opt - 0.187) < 0.01 || abs(opt - 0.033) < 0.01)
|
|
4537
|
+
## changed both ends of interval at the first step, gave opt = 0.136
|
|
4538
|
+
|
|
4539
|
+
|
|
4540
|
+
## Needlessly failing subassignments
|
|
4541
|
+
e <- 1:10
|
|
4542
|
+
e[2] <- expression(e)
|
|
4543
|
+
e <- pi
|
|
4544
|
+
e[2] <- expression(e)
|
|
4545
|
+
e <- letters
|
|
4546
|
+
e[2] <- expression(e)
|
|
4547
|
+
e <- as.raw(1:3)
|
|
4548
|
+
e[2] <- list(e=pi)
|
|
4549
|
+
## all failed < 2.5.0
|
|
4550
|
+
|
|
4551
|
+
|
|
4552
|
+
## uniroot did not allow zero at the end of an interval
|
|
4553
|
+
f <- function(x) x-1
|
|
4554
|
+
uniroot(f, c(0,2))
|
|
4555
|
+
uniroot(f, c(0,1))
|
|
4556
|
+
uniroot(f, c(1,2))
|
|
4557
|
+
## last two failed in 2.4.x
|
|
4558
|
+
|
|
4559
|
+
|
|
4560
|
+
## PR#9360 and PR#9394
|
|
4561
|
+
acf(1, lag.max=0, plot=FALSE)
|
|
4562
|
+
## gave an error in 2.4.0
|
|
4563
|
+
stopifnot( all.equal(ccf(1:3,-(1:3))$acf[2,1,1], -1) )
|
|
4564
|
+
## gave positive lag 0 cross-correlation after patching PR#9360
|
|
4565
|
+
|
|
4566
|
+
|
|
4567
|
+
## regression tests for complex sum/prod (briefly broken in Jan 2007)
|
|
4568
|
+
z <- rnorm(10) + rnorm(10)*(0+1i)
|
|
4569
|
+
sum(z)
|
|
4570
|
+
(x <- sum(pi, z))
|
|
4571
|
+
stopifnot(all.equal(x, sum(pi,Re(z)) + sum(Im(z))*(0+1i)))
|
|
4572
|
+
prod(z)
|
|
4573
|
+
##
|
|
4574
|
+
|
|
4575
|
+
|
|
4576
|
+
## problems with 0-row data frames created by read.table
|
|
4577
|
+
x <- structure(list(one = NULL, two = NULL, three = NULL),
|
|
4578
|
+
names = c("one", "two", "three"), class = "data.frame")
|
|
4579
|
+
y <- data.frame(one=1,two=2,three=3)
|
|
4580
|
+
(z <- rbind(x,y))
|
|
4581
|
+
stopifnot(dim(z) == c(1, 3))
|
|
4582
|
+
(z <- rbind(y,x))
|
|
4583
|
+
stopifnot(dim(z) == c(1, 3))
|
|
4584
|
+
(z <- rbind(x,x))
|
|
4585
|
+
stopifnot(dim(z) == c(0, 3))
|
|
4586
|
+
## variously failed or gave zero-column data frame in 2.4.1
|
|
4587
|
+
|
|
4588
|
+
|
|
4589
|
+
## tests of partial matching of attributes
|
|
4590
|
+
x <- 1:4
|
|
4591
|
+
attr(x, "ab") <- 1
|
|
4592
|
+
for(y in c("abc", "abcd", "abcde")) {
|
|
4593
|
+
attr(x, y) <- 1
|
|
4594
|
+
stopifnot(is.null(attr(x, "a")))
|
|
4595
|
+
}
|
|
4596
|
+
# second was '1' on 2.4.1.
|
|
4597
|
+
x <- 1:4
|
|
4598
|
+
names(x) <- letters[x]
|
|
4599
|
+
stopifnot(identical(attr(x, "n"), names(x)))
|
|
4600
|
+
x <- as.pairlist(x)
|
|
4601
|
+
stopifnot(identical(attr(x, "n"), names(x)))
|
|
4602
|
+
## worked for pairlists but not vectors in 2.4.1
|
|
4603
|
+
|
|
4604
|
+
|
|
4605
|
+
## which(arr.ind = TRUE) failed to give matrix on a 0-length input
|
|
4606
|
+
C <- matrix(1:16, 4)
|
|
4607
|
+
(ind <- which(C < 0, arr.ind = TRUE))
|
|
4608
|
+
stopifnot(is.matrix(ind))
|
|
4609
|
+
## gave integer(0) in 2.4.1
|
|
4610
|
+
|
|
4611
|
+
|
|
4612
|
+
## plnorm wrong for out-of-range values (PR#9520)
|
|
4613
|
+
stopifnot(plnorm(0, lower.tail=FALSE) == 1, plnorm(0, lower.tail=TRUE) == 0)
|
|
4614
|
+
## both lower tail in R < 2.5.0
|
|
4615
|
+
|
|
4616
|
+
|
|
4617
|
+
## supsmu with all NA values (PR#9519)
|
|
4618
|
+
x <- seq(0, 1, len = 100)
|
|
4619
|
+
y <- x + NA
|
|
4620
|
+
try(supsmu(x,y))
|
|
4621
|
+
## segfaulted < 2.5.0
|
|
4622
|
+
|
|
4623
|
+
|
|
4624
|
+
## which.max when max is Inf (PR#9522)
|
|
4625
|
+
which.min(c(NA, NA, Inf))
|
|
4626
|
+
which.max(c(NA, NA, -Inf, -Inf))
|
|
4627
|
+
## were integer(0) in < 2.5.0
|
|
4628
|
+
|
|
4629
|
+
|
|
4630
|
+
## str.dendrogram did not work with 'max.level=NA'
|
|
4631
|
+
## which has become default when called from str.default():
|
|
4632
|
+
cm <- cor(USJudgeRatings)
|
|
4633
|
+
hm <- heatmap(cm, symm = TRUE, keep.dendro = TRUE)
|
|
4634
|
+
str(hm, max=2) # reasonable
|
|
4635
|
+
str(hm) # gave error (less reasonable than above)
|
|
4636
|
+
|
|
4637
|
+
|
|
4638
|
+
## [<-.data.frame did not allow deleting the last column (PR#9565)
|
|
4639
|
+
DF <- data.frame(x = 1:3, y = 4:6, z = 7:9)
|
|
4640
|
+
DF[, "z"] <- NULL
|
|
4641
|
+
stopifnot(identical(dim(DF), c(3L, 2L)))
|
|
4642
|
+
## 'subscript out of bounds' in 2.4.1.
|
|
4643
|
+
|
|
4644
|
+
## new tryCatch() based try() with anonymous function
|
|
4645
|
+
v <- try(do.call(function(x) stop("died"), list(1)), silent=TRUE)
|
|
4646
|
+
stopifnot(inherits(v, "try-error"))
|
|
4647
|
+
## failed in some version of R-devel (2.5.0)
|
|
4648
|
+
|
|
4649
|
+
|
|
4650
|
+
## choose(n,k) should be integer if n is
|
|
4651
|
+
stopifnot(choose(11,6) == 462)
|
|
4652
|
+
## was < 462 on some AMD64 Linux
|
|
4653
|
+
|
|
4654
|
+
|
|
4655
|
+
## fix up use of %j" format in strptime (PR#9577)
|
|
4656
|
+
x <- strptime(31:33, "%j")
|
|
4657
|
+
x
|
|
4658
|
+
stopifnot(!is.na(x))
|
|
4659
|
+
## day 32 was NA in R < 2.5.0
|
|
4660
|
+
|
|
4661
|
+
|
|
4662
|
+
## mosaicplot() broken by undocumented 'bug fix' r39655
|
|
4663
|
+
x <- matrix(1:4,2,2)
|
|
4664
|
+
mosaicplot(x, sort = seq_len(dim(x)))
|
|
4665
|
+
## failed in 2.4.1, fixed in 2.5.0
|
|
4666
|
+
|
|
4667
|
+
|
|
4668
|
+
## jitter failed in wierd case (PR#9580)
|
|
4669
|
+
stopifnot(is.finite( jitter(c(-1, 3)) ))
|
|
4670
|
+
## was repeated NaN in 2.4.1
|
|
4671
|
+
|
|
4672
|
+
|
|
4673
|
+
## max.col() problems (PR#9542)
|
|
4674
|
+
x <- rep(0, 10)
|
|
4675
|
+
dim(x) <- c(1, 10)
|
|
4676
|
+
# max.col(x) should be random.
|
|
4677
|
+
ans <- numeric(100)
|
|
4678
|
+
for(i in 1:100) ans[i] <- max.col(x)
|
|
4679
|
+
table(ans)
|
|
4680
|
+
stopifnot(any(ans != 10))
|
|
4681
|
+
## always gave last in 2.4.1
|
|
4682
|
+
|
|
4683
|
+
|
|
4684
|
+
## rep could segfault: Hiroyuki Kawakatsu, R-help, 2007-03-30
|
|
4685
|
+
try(rep(each = 0, length.out = 1))
|
|
4686
|
+
# segfaulted in 2.4.1
|
|
4687
|
+
|
|
4688
|
+
|
|
4689
|
+
## readBin could read beyond the end of a raw vector.
|
|
4690
|
+
# Henrik Bengtsson, Rdevel, 2007-04-07
|
|
4691
|
+
bfr <- as.raw(1:12)
|
|
4692
|
+
(x <- readBin(con=bfr, what="raw", n=20))
|
|
4693
|
+
stopifnot(length(x) == 12)
|
|
4694
|
+
(x <- readBin(con=bfr, what="integer", n=20))
|
|
4695
|
+
stopifnot(length(x) == 3)
|
|
4696
|
+
(x <- readBin(con=bfr, what="integer", size=4, n=20))
|
|
4697
|
+
stopifnot(length(x) == 3)
|
|
4698
|
+
(x <- readBin(con=bfr, what="integer", size=2, n=20))
|
|
4699
|
+
stopifnot(length(x) == 6)
|
|
4700
|
+
(x <- readBin(con=bfr, what="integer", size=1, n=20))
|
|
4701
|
+
stopifnot(length(x) == 12)
|
|
4702
|
+
## read too far where size-changing was involved in 2.4.x
|
|
4703
|
+
|
|
4704
|
+
|
|
4705
|
+
## density() could give negative values by rounding error (PR#8876)
|
|
4706
|
+
x <- c(0.006, 0.002, 0.024, 0.02, 0.034, 0.09, 0.074, 0.072, 0.122,
|
|
4707
|
+
0.048, 0.044, 0.168)
|
|
4708
|
+
result <- density(x, n = 20, from = -1, to = 1)
|
|
4709
|
+
stopifnot(result$y >= 0)
|
|
4710
|
+
## slightly negative < 2.5.0
|
|
4711
|
+
|
|
4712
|
+
|
|
4713
|
+
## bw.SJ() used too small search interval in rare cases:
|
|
4714
|
+
bw.SJ(1:20) # error: "no solution in the specified range of bandwidths" in < 2.5.1
|
|
4715
|
+
## this is not ok when called as density(1:20, bw = "SJ")
|
|
4716
|
+
## [that's a matter of opinion, since the example is ridiculous.]
|
|
4717
|
+
|
|
4718
|
+
|
|
4719
|
+
## hexadecimal integer constants failed on some platforms (PR#9648)
|
|
4720
|
+
stopifnot(identical(0x10L, 16L))
|
|
4721
|
+
## first was 0L on Windows in 2.5.0
|
|
4722
|
+
|
|
4723
|
+
|
|
4724
|
+
## rbind failed if the only data frame had 0 rows (PR#9657)
|
|
4725
|
+
A <- data.frame(foo=character(0), bar=character(0))
|
|
4726
|
+
rbind(A, c(foo="a", bar="b"))
|
|
4727
|
+
## failed in 2.5.0
|
|
4728
|
+
|
|
4729
|
+
|
|
4730
|
+
## factor() with NA in dimnames():
|
|
4731
|
+
x <- matrix(1:2, 2)
|
|
4732
|
+
rownames(x) <- factor(c("A", NA))
|
|
4733
|
+
## segfaulted <= 2.5.0
|
|
4734
|
+
|
|
4735
|
+
|
|
4736
|
+
## return value of median.
|
|
4737
|
+
z <- median(integer(0))
|
|
4738
|
+
stopifnot(identical(z, NA_integer_))
|
|
4739
|
+
z <- median(numeric(0))
|
|
4740
|
+
stopifnot(identical(z, NA_real_))
|
|
4741
|
+
## returned logical NA in 2.5.0
|
|
4742
|
+
|
|
4743
|
+
|
|
4744
|
+
## seq.int on small reversed 'by'
|
|
4745
|
+
stopifnot(inherits(try(seq.int(1.2, 1, by=1)), "try-error"))
|
|
4746
|
+
## was '1.2' in 2.5.0
|
|
4747
|
+
|
|
4748
|
+
|
|
4749
|
+
## subassignment on pairlists: Uwe Ligges on R-help, 2007-05-29
|
|
4750
|
+
Call <- call("round", 10.5)
|
|
4751
|
+
try({Call[] <- NULL; Call})
|
|
4752
|
+
## seqgfaulted in 2.5.0
|
|
4753
|
+
|
|
4754
|
+
|
|
4755
|
+
## Bessel bugs for nu < 0:
|
|
4756
|
+
x <- seq(0., 3, length = 101)
|
|
4757
|
+
nu <- -0.4
|
|
4758
|
+
stopifnot(all.equal(besselI(x,nu, TRUE),
|
|
4759
|
+
exp(-x)*besselI(x,nu, FALSE), tol = 1e-13))
|
|
4760
|
+
## wrong in 2.5.0
|
|
4761
|
+
stopifnot(all.equal(besselY(seq(0.5, 3, 0.5), nu),
|
|
4762
|
+
c(0.309568577942, 0.568866844337, 0.626095631907,
|
|
4763
|
+
0.544013906248, 0.366321150943, 0.141533189246),
|
|
4764
|
+
tol = 1e-11))
|
|
4765
|
+
## wrong numbers in 2.5.0
|
|
4766
|
+
|
|
4767
|
+
### end of tests added in 2.5.1 ###
|
|
4768
|
+
|
|
4769
|
+
|
|
4770
|
+
## regression tests for unlink and wildcards
|
|
4771
|
+
owd <- setwd(tempdir())
|
|
4772
|
+
f <- c("ftest1", "ftest2", "ftestmore", "ftest&more")
|
|
4773
|
+
file.create(f)
|
|
4774
|
+
stopifnot(file.exists(f))
|
|
4775
|
+
unlink("ftest?")
|
|
4776
|
+
stopifnot(file.exists(f) == c(FALSE, FALSE, TRUE, TRUE))
|
|
4777
|
+
unlink("ftest*", recursive = TRUE)
|
|
4778
|
+
stopifnot(!file.exists(f))
|
|
4779
|
+
|
|
4780
|
+
stopifnot(unlink("no_such_file") == 0) # not an error
|
|
4781
|
+
|
|
4782
|
+
dd <- c("dir1", "dir2", "dirs", "moredirs")
|
|
4783
|
+
for(d in dd) dir.create(d)
|
|
4784
|
+
dir(".")
|
|
4785
|
+
file.create(file.path(dd, "somefile"))
|
|
4786
|
+
dir(".", recursive=TRUE)
|
|
4787
|
+
stopifnot(unlink("dir?") == 1) # not an error
|
|
4788
|
+
unlink("dir?", recursive = TRUE)
|
|
4789
|
+
stopifnot(file.exists(dd) == c(FALSE, FALSE, FALSE, TRUE))
|
|
4790
|
+
unlink("*dir*", recursive = TRUE)
|
|
4791
|
+
stopifnot(!file.exists(dd))
|
|
4792
|
+
|
|
4793
|
+
# Windows needs short path names for leading spaces
|
|
4794
|
+
dir.create(" test")
|
|
4795
|
+
dir(".", recursive=TRUE)
|
|
4796
|
+
unlink(" test", recursive = TRUE)
|
|
4797
|
+
stopifnot(!file.exists(" test"))
|
|
4798
|
+
setwd(owd)
|
|
4799
|
+
## wildcards were broken in 2.5.0 on Unix, and always on Windows
|
|
4800
|
+
|
|
4801
|
+
|
|
4802
|
+
## duplicated columns in a data frame
|
|
4803
|
+
x <- matrix(seq(1:12),ncol=3)
|
|
4804
|
+
colnames(x) <- c("A","B","A") #a redundant name for column 2
|
|
4805
|
+
x.df <- as.data.frame(x)
|
|
4806
|
+
stopifnot(x.df[4,3] == x[4,3])
|
|
4807
|
+
## wrong column in 2.5.0
|
|
4808
|
+
|
|
4809
|
+
|
|
4810
|
+
## it really is unclear if this should work as the fit is to a
|
|
4811
|
+
## numeric variable with levels, and the prediction does not have
|
|
4812
|
+
## levels. But some people expected it to.
|
|
4813
|
+
worms <- data.frame(sex=gl(2,6), Dose=factor(rep(2^(0:5),2)),
|
|
4814
|
+
deaths=c(1,4,9,13,18,20,0,2,6,10,12,16))
|
|
4815
|
+
worms$doselin <- unclass(worms$Dose)
|
|
4816
|
+
worms.glm <- glm(cbind(deaths, (20-deaths)) ~ sex+ doselin,
|
|
4817
|
+
data=worms, family=binomial)
|
|
4818
|
+
predict(worms.glm, new=data.frame(sex="1", doselin=6))
|
|
4819
|
+
## failed < 2.6.0
|
|
4820
|
+
|
|
4821
|
+
|
|
4822
|
+
## regression test for changes in aggregate.data.frame
|
|
4823
|
+
z <- aggregate(state.x77,
|
|
4824
|
+
list(Region = state.region,
|
|
4825
|
+
Cold = state.x77[,"Frost"] > 130),
|
|
4826
|
+
mean)
|
|
4827
|
+
stopifnot(sapply(z, class)[1:2] == c("factor", "logical"),
|
|
4828
|
+
identical(levels(z[[1]]), levels(state.region)) )
|
|
4829
|
+
f1 <- c("a","b","a","b")
|
|
4830
|
+
f2 <- factor(f1, levels=c("b","c","a"), ordered=TRUE)
|
|
4831
|
+
z <- aggregate(1:4, list(groups=f1), sum)
|
|
4832
|
+
stopifnot(sapply(z, class) == c("character", "integer"))
|
|
4833
|
+
z <- aggregate(1:4, list(groups=f2), sum)
|
|
4834
|
+
stopifnot(identical(sapply(z, class), list(groups=class(f2), x="integer")),
|
|
4835
|
+
identical(levels(z[[1]]), levels(f2)),
|
|
4836
|
+
is.ordered(z[[1]]) )
|
|
4837
|
+
## converted to factors < 2.6.0
|
|
4838
|
+
|
|
4839
|
+
|
|
4840
|
+
## formals<- on function with NULL body (PR#9758)
|
|
4841
|
+
f <- function() NULL
|
|
4842
|
+
g <- alist(a=, b=4, c=)
|
|
4843
|
+
formals(f) <- g
|
|
4844
|
+
# identical(formals(f), g) is false as g has names attribute
|
|
4845
|
+
stopifnot(is.null(body(f)), identical(names(formals(f)), names(g)))
|
|
4846
|
+
## was function(a, b=4) before 2.6.0
|
|
4847
|
+
|
|
4848
|
+
|
|
4849
|
+
## subsetting R.version
|
|
4850
|
+
stopifnot(identical("simple.list", class(R.version[1:7])))
|
|
4851
|
+
|
|
4852
|
+
|
|
4853
|
+
## <data frame>[[<character>, j]]
|
|
4854
|
+
swiss[["Broye", "Agriculture"]]
|
|
4855
|
+
swiss[[7, "Agriculture"]]
|
|
4856
|
+
swiss[["Broye", 2]]
|
|
4857
|
+
swiss[[7, 2]]
|
|
4858
|
+
## first and third failed < 2.6.0
|
|
4859
|
+
|
|
4860
|
+
|
|
4861
|
+
## load of raw vector from ASCII save
|
|
4862
|
+
s1 <- "this is a test string 123"
|
|
4863
|
+
r0 <- r1 <- charToRaw(s1)
|
|
4864
|
+
save(r1, file="r1-ascii.rda", ascii=TRUE)
|
|
4865
|
+
save(r1, file="r1.rda", ascii=FALSE)
|
|
4866
|
+
rm(r1)# really prove...
|
|
4867
|
+
load("r1.rda")
|
|
4868
|
+
unlink("r1.rda")
|
|
4869
|
+
stopifnot(identical(r1, r0))
|
|
4870
|
+
# was OK, but add regression test
|
|
4871
|
+
load("r1-ascii.rda")
|
|
4872
|
+
unlink("r1-ascii.rda")
|
|
4873
|
+
stopifnot(identical(r1, r0))
|
|
4874
|
+
## wrong < 2.5.1 patched
|
|
4875
|
+
|
|
4876
|
+
|
|
4877
|
+
## match.arg with multiple values (PR#9859)
|
|
4878
|
+
x <- letters[1:3]
|
|
4879
|
+
y <- c('aa','bb')
|
|
4880
|
+
try(match.arg(x,y)) # gave spurious warning
|
|
4881
|
+
res <- match.arg(x,y, several.ok = TRUE) # error
|
|
4882
|
+
stopifnot(identical(res, y))
|
|
4883
|
+
## failed in 2.5.1
|
|
4884
|
+
|
|
4885
|
+
|
|
4886
|
+
## sweep() must work with 0-extent matrix/STATS :
|
|
4887
|
+
m <- matrix(1:5, 5,0)
|
|
4888
|
+
stopifnot(identical(m, sweep(m, 2, apply(m,2, min))))
|
|
4889
|
+
## failed in R-devel around 2007-08-31
|
|
4890
|
+
|
|
4891
|
+
|
|
4892
|
+
## julian with POSIXlt origin (PR#9908)
|
|
4893
|
+
julian(as.POSIXlt("1999-2-1"), origin=as.POSIXlt("1999-1-1"))
|
|
4894
|
+
## failed < 2.6.0
|
|
4895
|
+
|
|
4896
|
+
### continued in reg-tests-1b.R ###
|
|
4897
|
+
|
|
4898
|
+
proc.time()
|