1s autopkgtest [10:45:41]: starting date and time: 2025-05-02 10:45:41+0000 1s autopkgtest [10:45:42]: git checkout: 9986aa8c Merge branch 'skia/fix_network_interface' into 'ubuntu/production' 1s autopkgtest [10:45:42]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.x2zq3ap9/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:nlme --apt-upgrade r-cran-ordinal --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=nlme/3.1.168-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos03-arm64-3.secgroup --name adt-questing-arm64-r-cran-ordinal-20250502-104541-juju-7f2275-prod-proposed-migration-environment-2-0d08509f-c403-4acc-ac48-bcdb77e107db --image adt/ubuntu-questing-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 145s autopkgtest [10:48:06]: testbed dpkg architecture: arm64 146s autopkgtest [10:48:07]: testbed apt version: 3.0.0 146s autopkgtest [10:48:07]: @@@@@@@@@@@@@@@@@@@@ test bed setup 146s autopkgtest [10:48:07]: testbed release detected to be: None 147s autopkgtest [10:48:08]: updating testbed package index (apt update) 147s Get:1 http://ftpmaster.internal/ubuntu questing-proposed InRelease [110 kB] 148s Hit:2 http://ftpmaster.internal/ubuntu questing InRelease 148s Hit:3 http://ftpmaster.internal/ubuntu questing-updates InRelease 148s Hit:4 http://ftpmaster.internal/ubuntu questing-security InRelease 148s Get:5 http://ftpmaster.internal/ubuntu questing-proposed/universe Sources [2076 kB] 148s Get:6 http://ftpmaster.internal/ubuntu questing-proposed/main Sources [175 kB] 148s Get:7 http://ftpmaster.internal/ubuntu questing-proposed/multiverse Sources [44.4 kB] 148s Get:8 http://ftpmaster.internal/ubuntu questing-proposed/main arm64 Packages [219 kB] 148s Get:9 http://ftpmaster.internal/ubuntu questing-proposed/universe arm64 Packages [1509 kB] 148s Get:10 http://ftpmaster.internal/ubuntu questing-proposed/multiverse arm64 Packages [15.4 kB] 149s Fetched 4149 kB in 1s (3235 kB/s) 150s Reading package lists... 151s autopkgtest [10:48:12]: upgrading testbed (apt dist-upgrade and autopurge) 151s Reading package lists... 151s Building dependency tree... 151s Reading state information... 152s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 152s Starting 2 pkgProblemResolver with broken count: 0 152s Done 153s Entering ResolveByKeep 153s 153s Calculating upgrade... 154s The following packages will be upgraded: 154s htop mtd-utils nano 154s 3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 154s Need to get 936 kB of archives. 154s After this operation, 727 kB of additional disk space will be used. 154s Get:1 http://ftpmaster.internal/ubuntu questing/main arm64 nano arm64 8.4-1 [290 kB] 154s Get:2 http://ftpmaster.internal/ubuntu questing/main arm64 htop arm64 3.4.1-4 [177 kB] 155s Get:3 http://ftpmaster.internal/ubuntu questing/main arm64 mtd-utils arm64 1:2.3.0-1ubuntu1 [469 kB] 155s Fetched 936 kB in 1s (1424 kB/s) 156s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 117820 files and directories currently installed.) 156s Preparing to unpack .../archives/nano_8.4-1_arm64.deb ... 156s Unpacking nano (8.4-1) over (8.3-1) ... 156s Preparing to unpack .../htop_3.4.1-4_arm64.deb ... 156s Unpacking htop (3.4.1-4) over (3.4.0-2) ... 156s Preparing to unpack .../mtd-utils_1%3a2.3.0-1ubuntu1_arm64.deb ... 156s Unpacking mtd-utils (1:2.3.0-1ubuntu1) over (1:2.2.0-2ubuntu2) ... 156s Setting up htop (3.4.1-4) ... 156s Setting up mtd-utils (1:2.3.0-1ubuntu1) ... 156s Setting up nano (8.4-1) ... 156s Installing new version of config file /etc/nanorc ... 156s Processing triggers for man-db (2.13.0-1) ... 157s Processing triggers for install-info (7.1.1-1) ... 158s Reading package lists... 158s Building dependency tree... 158s Reading state information... 159s Starting pkgProblemResolver with broken count: 0 159s Starting 2 pkgProblemResolver with broken count: 0 159s Done 159s Solving dependencies... 160s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 163s autopkgtest [10:48:24]: testbed running kernel: Linux 6.14.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Sun Apr 6 14:37:51 UTC 2025 163s autopkgtest [10:48:24]: @@@@@@@@@@@@@@@@@@@@ apt-source r-cran-ordinal 165s Get:1 http://ftpmaster.internal/ubuntu questing/universe r-cran-ordinal 2023.12-4.1-1 (dsc) [2258 B] 165s Get:2 http://ftpmaster.internal/ubuntu questing/universe r-cran-ordinal 2023.12-4.1-1 (tar) [804 kB] 165s Get:3 http://ftpmaster.internal/ubuntu questing/universe r-cran-ordinal 2023.12-4.1-1 (diff) [3132 B] 165s gpgv: Signature made Wed Oct 9 23:44:36 2024 UTC 165s gpgv: using RSA key 73471499CC60ED9EEE805946C5BD6C8F2295D502 165s gpgv: issuer "plessy@debian.org" 165s gpgv: Can't check signature: No public key 165s dpkg-source: warning: cannot verify inline signature for ./r-cran-ordinal_2023.12-4.1-1.dsc: no acceptable signature found 165s autopkgtest [10:48:26]: testing package r-cran-ordinal version 2023.12-4.1-1 166s autopkgtest [10:48:27]: build not needed 168s autopkgtest [10:48:29]: test run-unit-test: preparing testbed 168s Reading package lists... 168s Building dependency tree... 168s Reading state information... 169s Starting pkgProblemResolver with broken count: 0 169s Starting 2 pkgProblemResolver with broken count: 0 169s Done 170s The following NEW packages will be installed: 170s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono libblas3 170s libcairo2 libdatrie1 libdeflate0 libfontconfig1 libgfortran5 libgomp1 170s libgraphite2-3 libharfbuzz0b libice6 libjbig0 libjpeg-turbo8 libjpeg8 170s liblapack3 liblerc4 libnlopt0 libpango-1.0-0 libpangocairo-1.0-0 170s libpangoft2-1.0-0 libpaper-utils libpaper2 libpixman-1-0 libsharpyuv0 libsm6 170s libtcl8.6 libthai-data libthai0 libtiff6 libtk8.6 libwebp7 libxcb-render0 170s libxcb-shm0 libxft2 libxrender1 libxss1 libxt6t64 littler r-base-core 170s r-cran-boot r-cran-brio r-cran-callr r-cran-cli r-cran-crayon r-cran-desc 170s r-cran-diffobj r-cran-digest r-cran-evaluate r-cran-fs r-cran-glue 170s r-cran-jsonlite r-cran-lattice r-cran-lifecycle r-cran-littler r-cran-lme4 170s r-cran-magrittr r-cran-mass r-cran-matrix r-cran-minqa r-cran-nlme 170s r-cran-nloptr r-cran-nnet r-cran-numderiv r-cran-ordinal r-cran-pkgbuild 170s r-cran-pkgkitten r-cran-pkgload r-cran-praise r-cran-processx r-cran-ps 170s r-cran-r6 r-cran-rbibutils r-cran-rcpp r-cran-rcppeigen r-cran-rdpack 170s r-cran-reformulas r-cran-rlang r-cran-rprojroot r-cran-statmod 170s r-cran-testthat r-cran-ucminf r-cran-waldo r-cran-withr r-cran-xtable unzip 170s x11-common xdg-utils zip 170s 0 upgraded, 91 newly installed, 0 to remove and 0 not upgraded. 170s Need to get 70.4 MB of archives. 170s After this operation, 147 MB of additional disk space will be used. 170s Get:1 http://ftpmaster.internal/ubuntu questing/main arm64 fonts-dejavu-mono all 2.37-8 [502 kB] 171s Get:2 http://ftpmaster.internal/ubuntu questing/main arm64 fonts-dejavu-core all 2.37-8 [835 kB] 171s Get:3 http://ftpmaster.internal/ubuntu questing/main arm64 fontconfig-config arm64 2.15.0-2.2ubuntu1 [37.9 kB] 171s Get:4 http://ftpmaster.internal/ubuntu questing/main arm64 libfontconfig1 arm64 2.15.0-2.2ubuntu1 [144 kB] 171s Get:5 http://ftpmaster.internal/ubuntu questing/main arm64 fontconfig arm64 2.15.0-2.2ubuntu1 [191 kB] 171s Get:6 http://ftpmaster.internal/ubuntu questing/main arm64 libblas3 arm64 3.12.1-2 [161 kB] 171s Get:7 http://ftpmaster.internal/ubuntu questing/main arm64 libpixman-1-0 arm64 0.44.0-3 [197 kB] 171s Get:8 http://ftpmaster.internal/ubuntu questing/main arm64 libxcb-render0 arm64 1.17.0-2 [16.6 kB] 171s Get:9 http://ftpmaster.internal/ubuntu questing/main arm64 libxcb-shm0 arm64 1.17.0-2 [5884 B] 171s Get:10 http://ftpmaster.internal/ubuntu questing/main arm64 libxrender1 arm64 1:0.9.10-1.1build1 [18.8 kB] 171s Get:11 http://ftpmaster.internal/ubuntu questing/main arm64 libcairo2 arm64 1.18.4-1 [560 kB] 171s Get:12 http://ftpmaster.internal/ubuntu questing/main arm64 libdatrie1 arm64 0.2.13-3build1 [19.2 kB] 171s Get:13 http://ftpmaster.internal/ubuntu questing/main arm64 libdeflate0 arm64 1.23-1 [46.2 kB] 171s Get:14 http://ftpmaster.internal/ubuntu questing/main arm64 libgfortran5 arm64 15-20250404-0ubuntu1 [444 kB] 171s Get:15 http://ftpmaster.internal/ubuntu questing/main arm64 libgomp1 arm64 15-20250404-0ubuntu1 [147 kB] 171s Get:16 http://ftpmaster.internal/ubuntu questing/main arm64 libgraphite2-3 arm64 1.3.14-2ubuntu1 [70.6 kB] 171s Get:17 http://ftpmaster.internal/ubuntu questing/main arm64 libharfbuzz0b arm64 10.2.0-1 [490 kB] 171s Get:18 http://ftpmaster.internal/ubuntu questing/main arm64 x11-common all 1:7.7+23ubuntu4 [21.8 kB] 171s Get:19 http://ftpmaster.internal/ubuntu questing/main arm64 libice6 arm64 2:1.1.1-1 [42.3 kB] 171s Get:20 http://ftpmaster.internal/ubuntu questing/main arm64 libjpeg-turbo8 arm64 2.1.5-3ubuntu2 [165 kB] 171s Get:21 http://ftpmaster.internal/ubuntu questing/main arm64 libjpeg8 arm64 8c-2ubuntu11 [2148 B] 171s Get:22 http://ftpmaster.internal/ubuntu questing/main arm64 liblapack3 arm64 3.12.1-2 [2307 kB] 171s Get:23 http://ftpmaster.internal/ubuntu questing/main arm64 liblerc4 arm64 4.0.0+ds-5ubuntu1 [167 kB] 171s Get:24 http://ftpmaster.internal/ubuntu questing/main arm64 libthai-data all 0.1.29-2build1 [158 kB] 171s Get:25 http://ftpmaster.internal/ubuntu questing/main arm64 libthai0 arm64 0.1.29-2build1 [18.2 kB] 171s Get:26 http://ftpmaster.internal/ubuntu questing/main arm64 libpango-1.0-0 arm64 1.56.3-1 [238 kB] 171s Get:27 http://ftpmaster.internal/ubuntu questing/main arm64 libpangoft2-1.0-0 arm64 1.56.3-1 [49.8 kB] 171s Get:28 http://ftpmaster.internal/ubuntu questing/main arm64 libpangocairo-1.0-0 arm64 1.56.3-1 [27.6 kB] 171s Get:29 http://ftpmaster.internal/ubuntu questing/main arm64 libpaper2 arm64 2.2.5-0.3 [17.3 kB] 171s Get:30 http://ftpmaster.internal/ubuntu questing/main arm64 libpaper-utils arm64 2.2.5-0.3 [15.4 kB] 171s Get:31 http://ftpmaster.internal/ubuntu questing/main arm64 libsharpyuv0 arm64 1.5.0-0.1 [16.9 kB] 171s Get:32 http://ftpmaster.internal/ubuntu questing/main arm64 libsm6 arm64 2:1.2.4-1 [16.4 kB] 171s Get:33 http://ftpmaster.internal/ubuntu questing/main arm64 libtcl8.6 arm64 8.6.16+dfsg-1 [987 kB] 171s Get:34 http://ftpmaster.internal/ubuntu questing/main arm64 libjbig0 arm64 2.1-6.1ubuntu2 [29.3 kB] 171s Get:35 http://ftpmaster.internal/ubuntu questing/main arm64 libwebp7 arm64 1.5.0-0.1 [194 kB] 171s Get:36 http://ftpmaster.internal/ubuntu questing/main arm64 libtiff6 arm64 4.5.1+git230720-4ubuntu4 [193 kB] 171s Get:37 http://ftpmaster.internal/ubuntu questing/main arm64 libxft2 arm64 2.3.6-1build1 [44.1 kB] 171s Get:38 http://ftpmaster.internal/ubuntu questing/main arm64 libxss1 arm64 1:1.2.3-1build3 [7244 B] 171s Get:39 http://ftpmaster.internal/ubuntu questing/main arm64 libtk8.6 arm64 8.6.16-1 [776 kB] 171s Get:40 http://ftpmaster.internal/ubuntu questing/main arm64 libxt6t64 arm64 1:1.2.1-1.2build1 [168 kB] 171s Get:41 http://ftpmaster.internal/ubuntu questing/main arm64 zip arm64 3.0-14ubuntu2 [173 kB] 171s Get:42 http://ftpmaster.internal/ubuntu questing/main arm64 unzip arm64 6.0-28ubuntu6 [178 kB] 171s Get:43 http://ftpmaster.internal/ubuntu questing/main arm64 xdg-utils all 1.2.1-2ubuntu1 [66.0 kB] 171s Get:44 http://ftpmaster.internal/ubuntu questing/universe arm64 r-base-core arm64 4.4.3-1 [28.4 MB] 173s Get:45 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-littler arm64 0.3.20-2 [96.1 kB] 173s Get:46 http://ftpmaster.internal/ubuntu questing/universe arm64 littler all 0.3.20-2 [2554 B] 173s Get:47 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-boot all 1.3-31-1 [635 kB] 173s Get:48 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-brio arm64 1.1.5-1 [39.1 kB] 173s Get:49 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-ps arm64 1.9.0-1 [407 kB] 173s Get:50 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-r6 all 2.6.1-1 [101 kB] 173s Get:51 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-processx arm64 3.8.6-1 [363 kB] 173s Get:52 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-callr all 3.7.6-1 [458 kB] 173s Get:53 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-cli arm64 3.6.4-1 [1374 kB] 173s Get:54 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-crayon all 1.5.3-1 [165 kB] 173s Get:55 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-desc all 1.4.3-1 [359 kB] 173s Get:56 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-diffobj arm64 0.3.5-1 [1116 kB] 173s Get:57 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-digest arm64 0.6.37-1 [200 kB] 173s Get:58 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-evaluate all 1.0.3-1 [114 kB] 173s Get:59 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-fs arm64 1.6.5+dfsg-1 [244 kB] 173s Get:60 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-glue arm64 1.8.0-1 [163 kB] 173s Get:61 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-jsonlite arm64 1.9.1+dfsg-1 [445 kB] 173s Get:62 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-lattice arm64 0.22-6-1 [1363 kB] 173s Get:63 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-rlang arm64 1.1.5-1 [1707 kB] 173s Get:64 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-lifecycle all 1.0.4+dfsg-1 [110 kB] 174s Get:65 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-matrix arm64 1.7-3-1 [4045 kB] 174s Get:66 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-mass arm64 7.3-65-1 [1109 kB] 174s Get:67 http://ftpmaster.internal/ubuntu questing-proposed/universe arm64 r-cran-nlme arm64 3.1.168-1 [2310 kB] 174s Get:68 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-pkgkitten all 0.2.4-1 [27.2 kB] 174s Get:69 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-rcpp arm64 1.0.14-1 [1978 kB] 174s Get:70 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-minqa arm64 1.2.8-1 [112 kB] 174s Get:71 http://ftpmaster.internal/ubuntu questing/universe arm64 libnlopt0 arm64 2.7.1-6ubuntu3 [179 kB] 174s Get:72 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-nloptr arm64 2.2.1-1 [250 kB] 174s Get:73 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-rbibutils arm64 2.3-1 [1016 kB] 174s Get:74 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-rdpack all 2.6.3-1 [636 kB] 174s Get:75 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-reformulas all 0.4.0-1 [91.5 kB] 174s Get:76 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-rcppeigen arm64 0.3.4.0.2-1 [1422 kB] 174s Get:77 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-statmod arm64 1.5.0-1 [294 kB] 174s Get:78 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-lme4 arm64 1.1-36-1 [4108 kB] 174s Get:79 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-magrittr arm64 2.0.3-1 [154 kB] 174s Get:80 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-nnet arm64 7.3-20-1 [113 kB] 174s Get:81 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-numderiv all 2016.8-1.1-3 [115 kB] 174s Get:82 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-ucminf arm64 1.2.2-1 [35.8 kB] 174s Get:83 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-ordinal arm64 2023.12-4.1-1 [1268 kB] 174s Get:84 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-pkgbuild all 1.4.6-1 [213 kB] 174s Get:85 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-rprojroot all 2.0.4-2 [125 kB] 174s Get:86 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-withr all 3.0.2+dfsg-1 [214 kB] 174s Get:87 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-pkgload all 1.4.0-1 [247 kB] 174s Get:88 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-praise all 1.0.0-4build1 [20.3 kB] 174s Get:89 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-waldo all 0.6.1-2 [150 kB] 174s Get:90 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-testthat arm64 3.2.3-1 [1644 kB] 174s Get:91 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-xtable all 1:1.8-4-2 [689 kB] 175s Preconfiguring packages ... 175s Fetched 70.4 MB in 4s (15.7 MB/s) 175s Selecting previously unselected package fonts-dejavu-mono. 175s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 117821 files and directories currently installed.) 175s Preparing to unpack .../00-fonts-dejavu-mono_2.37-8_all.deb ... 175s Unpacking fonts-dejavu-mono (2.37-8) ... 175s Selecting previously unselected package fonts-dejavu-core. 175s Preparing to unpack .../01-fonts-dejavu-core_2.37-8_all.deb ... 175s Unpacking fonts-dejavu-core (2.37-8) ... 175s Selecting previously unselected package fontconfig-config. 175s Preparing to unpack .../02-fontconfig-config_2.15.0-2.2ubuntu1_arm64.deb ... 176s Unpacking fontconfig-config (2.15.0-2.2ubuntu1) ... 176s Selecting previously unselected package libfontconfig1:arm64. 176s Preparing to unpack .../03-libfontconfig1_2.15.0-2.2ubuntu1_arm64.deb ... 176s Unpacking libfontconfig1:arm64 (2.15.0-2.2ubuntu1) ... 176s Selecting previously unselected package fontconfig. 176s Preparing to unpack .../04-fontconfig_2.15.0-2.2ubuntu1_arm64.deb ... 176s Unpacking fontconfig (2.15.0-2.2ubuntu1) ... 176s Selecting previously unselected package libblas3:arm64. 176s Preparing to unpack .../05-libblas3_3.12.1-2_arm64.deb ... 176s Unpacking libblas3:arm64 (3.12.1-2) ... 176s Selecting previously unselected package libpixman-1-0:arm64. 176s Preparing to unpack .../06-libpixman-1-0_0.44.0-3_arm64.deb ... 176s Unpacking libpixman-1-0:arm64 (0.44.0-3) ... 176s Selecting previously unselected package libxcb-render0:arm64. 176s Preparing to unpack .../07-libxcb-render0_1.17.0-2_arm64.deb ... 176s Unpacking libxcb-render0:arm64 (1.17.0-2) ... 176s Selecting previously unselected package libxcb-shm0:arm64. 176s Preparing to unpack .../08-libxcb-shm0_1.17.0-2_arm64.deb ... 176s Unpacking libxcb-shm0:arm64 (1.17.0-2) ... 176s Selecting previously unselected package libxrender1:arm64. 176s Preparing to unpack .../09-libxrender1_1%3a0.9.10-1.1build1_arm64.deb ... 176s Unpacking libxrender1:arm64 (1:0.9.10-1.1build1) ... 176s Selecting previously unselected package libcairo2:arm64. 176s Preparing to unpack .../10-libcairo2_1.18.4-1_arm64.deb ... 176s Unpacking libcairo2:arm64 (1.18.4-1) ... 176s Selecting previously unselected package libdatrie1:arm64. 176s Preparing to unpack .../11-libdatrie1_0.2.13-3build1_arm64.deb ... 176s Unpacking libdatrie1:arm64 (0.2.13-3build1) ... 176s Selecting previously unselected package libdeflate0:arm64. 176s Preparing to unpack .../12-libdeflate0_1.23-1_arm64.deb ... 176s Unpacking libdeflate0:arm64 (1.23-1) ... 176s Selecting previously unselected package libgfortran5:arm64. 176s Preparing to unpack .../13-libgfortran5_15-20250404-0ubuntu1_arm64.deb ... 176s Unpacking libgfortran5:arm64 (15-20250404-0ubuntu1) ... 176s Selecting previously unselected package libgomp1:arm64. 176s Preparing to unpack .../14-libgomp1_15-20250404-0ubuntu1_arm64.deb ... 176s Unpacking libgomp1:arm64 (15-20250404-0ubuntu1) ... 176s Selecting previously unselected package libgraphite2-3:arm64. 177s Preparing to unpack .../15-libgraphite2-3_1.3.14-2ubuntu1_arm64.deb ... 177s Unpacking libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 177s Selecting previously unselected package libharfbuzz0b:arm64. 177s Preparing to unpack .../16-libharfbuzz0b_10.2.0-1_arm64.deb ... 177s Unpacking libharfbuzz0b:arm64 (10.2.0-1) ... 177s Selecting previously unselected package x11-common. 177s Preparing to unpack .../17-x11-common_1%3a7.7+23ubuntu4_all.deb ... 177s Unpacking x11-common (1:7.7+23ubuntu4) ... 177s Selecting previously unselected package libice6:arm64. 177s Preparing to unpack .../18-libice6_2%3a1.1.1-1_arm64.deb ... 177s Unpacking libice6:arm64 (2:1.1.1-1) ... 177s Selecting previously unselected package libjpeg-turbo8:arm64. 177s Preparing to unpack .../19-libjpeg-turbo8_2.1.5-3ubuntu2_arm64.deb ... 177s Unpacking libjpeg-turbo8:arm64 (2.1.5-3ubuntu2) ... 177s Selecting previously unselected package libjpeg8:arm64. 177s Preparing to unpack .../20-libjpeg8_8c-2ubuntu11_arm64.deb ... 177s Unpacking libjpeg8:arm64 (8c-2ubuntu11) ... 177s Selecting previously unselected package liblapack3:arm64. 177s Preparing to unpack .../21-liblapack3_3.12.1-2_arm64.deb ... 177s Unpacking liblapack3:arm64 (3.12.1-2) ... 177s Selecting previously unselected package liblerc4:arm64. 177s Preparing to unpack .../22-liblerc4_4.0.0+ds-5ubuntu1_arm64.deb ... 177s Unpacking liblerc4:arm64 (4.0.0+ds-5ubuntu1) ... 177s Selecting previously unselected package libthai-data. 177s Preparing to unpack .../23-libthai-data_0.1.29-2build1_all.deb ... 177s Unpacking libthai-data (0.1.29-2build1) ... 177s Selecting previously unselected package libthai0:arm64. 177s Preparing to unpack .../24-libthai0_0.1.29-2build1_arm64.deb ... 177s Unpacking libthai0:arm64 (0.1.29-2build1) ... 177s Selecting previously unselected package libpango-1.0-0:arm64. 177s Preparing to unpack .../25-libpango-1.0-0_1.56.3-1_arm64.deb ... 177s Unpacking libpango-1.0-0:arm64 (1.56.3-1) ... 177s Selecting previously unselected package libpangoft2-1.0-0:arm64. 177s Preparing to unpack .../26-libpangoft2-1.0-0_1.56.3-1_arm64.deb ... 177s Unpacking libpangoft2-1.0-0:arm64 (1.56.3-1) ... 177s Selecting previously unselected package libpangocairo-1.0-0:arm64. 177s Preparing to unpack .../27-libpangocairo-1.0-0_1.56.3-1_arm64.deb ... 177s Unpacking libpangocairo-1.0-0:arm64 (1.56.3-1) ... 177s Selecting previously unselected package libpaper2:arm64. 177s Preparing to unpack .../28-libpaper2_2.2.5-0.3_arm64.deb ... 177s Unpacking libpaper2:arm64 (2.2.5-0.3) ... 177s Selecting previously unselected package libpaper-utils. 177s Preparing to unpack .../29-libpaper-utils_2.2.5-0.3_arm64.deb ... 177s Unpacking libpaper-utils (2.2.5-0.3) ... 177s Selecting previously unselected package libsharpyuv0:arm64. 177s Preparing to unpack .../30-libsharpyuv0_1.5.0-0.1_arm64.deb ... 177s Unpacking libsharpyuv0:arm64 (1.5.0-0.1) ... 177s Selecting previously unselected package libsm6:arm64. 177s Preparing to unpack .../31-libsm6_2%3a1.2.4-1_arm64.deb ... 177s Unpacking libsm6:arm64 (2:1.2.4-1) ... 177s Selecting previously unselected package libtcl8.6:arm64. 178s Preparing to unpack .../32-libtcl8.6_8.6.16+dfsg-1_arm64.deb ... 178s Unpacking libtcl8.6:arm64 (8.6.16+dfsg-1) ... 178s Selecting previously unselected package libjbig0:arm64. 178s Preparing to unpack .../33-libjbig0_2.1-6.1ubuntu2_arm64.deb ... 178s Unpacking libjbig0:arm64 (2.1-6.1ubuntu2) ... 178s Selecting previously unselected package libwebp7:arm64. 178s Preparing to unpack .../34-libwebp7_1.5.0-0.1_arm64.deb ... 178s Unpacking libwebp7:arm64 (1.5.0-0.1) ... 178s Selecting previously unselected package libtiff6:arm64. 178s Preparing to unpack .../35-libtiff6_4.5.1+git230720-4ubuntu4_arm64.deb ... 178s Unpacking libtiff6:arm64 (4.5.1+git230720-4ubuntu4) ... 178s Selecting previously unselected package libxft2:arm64. 178s Preparing to unpack .../36-libxft2_2.3.6-1build1_arm64.deb ... 178s Unpacking libxft2:arm64 (2.3.6-1build1) ... 178s Selecting previously unselected package libxss1:arm64. 178s Preparing to unpack .../37-libxss1_1%3a1.2.3-1build3_arm64.deb ... 178s Unpacking libxss1:arm64 (1:1.2.3-1build3) ... 178s Selecting previously unselected package libtk8.6:arm64. 178s Preparing to unpack .../38-libtk8.6_8.6.16-1_arm64.deb ... 178s Unpacking libtk8.6:arm64 (8.6.16-1) ... 178s Selecting previously unselected package libxt6t64:arm64. 178s Preparing to unpack .../39-libxt6t64_1%3a1.2.1-1.2build1_arm64.deb ... 178s Unpacking libxt6t64:arm64 (1:1.2.1-1.2build1) ... 178s Selecting previously unselected package zip. 178s Preparing to unpack .../40-zip_3.0-14ubuntu2_arm64.deb ... 178s Unpacking zip (3.0-14ubuntu2) ... 178s Selecting previously unselected package unzip. 178s Preparing to unpack .../41-unzip_6.0-28ubuntu6_arm64.deb ... 178s Unpacking unzip (6.0-28ubuntu6) ... 178s Selecting previously unselected package xdg-utils. 178s Preparing to unpack .../42-xdg-utils_1.2.1-2ubuntu1_all.deb ... 178s Unpacking xdg-utils (1.2.1-2ubuntu1) ... 178s Selecting previously unselected package r-base-core. 178s Preparing to unpack .../43-r-base-core_4.4.3-1_arm64.deb ... 178s Unpacking r-base-core (4.4.3-1) ... 179s Selecting previously unselected package r-cran-littler. 179s Preparing to unpack .../44-r-cran-littler_0.3.20-2_arm64.deb ... 179s Unpacking r-cran-littler (0.3.20-2) ... 179s Selecting previously unselected package littler. 179s Preparing to unpack .../45-littler_0.3.20-2_all.deb ... 179s Unpacking littler (0.3.20-2) ... 179s Selecting previously unselected package r-cran-boot. 179s Preparing to unpack .../46-r-cran-boot_1.3-31-1_all.deb ... 179s Unpacking r-cran-boot (1.3-31-1) ... 179s Selecting previously unselected package r-cran-brio. 179s Preparing to unpack .../47-r-cran-brio_1.1.5-1_arm64.deb ... 179s Unpacking r-cran-brio (1.1.5-1) ... 179s Selecting previously unselected package r-cran-ps. 179s Preparing to unpack .../48-r-cran-ps_1.9.0-1_arm64.deb ... 179s Unpacking r-cran-ps (1.9.0-1) ... 179s Selecting previously unselected package r-cran-r6. 179s Preparing to unpack .../49-r-cran-r6_2.6.1-1_all.deb ... 179s Unpacking r-cran-r6 (2.6.1-1) ... 179s Selecting previously unselected package r-cran-processx. 179s Preparing to unpack .../50-r-cran-processx_3.8.6-1_arm64.deb ... 179s Unpacking r-cran-processx (3.8.6-1) ... 179s Selecting previously unselected package r-cran-callr. 179s Preparing to unpack .../51-r-cran-callr_3.7.6-1_all.deb ... 179s Unpacking r-cran-callr (3.7.6-1) ... 179s Selecting previously unselected package r-cran-cli. 179s Preparing to unpack .../52-r-cran-cli_3.6.4-1_arm64.deb ... 179s Unpacking r-cran-cli (3.6.4-1) ... 179s Selecting previously unselected package r-cran-crayon. 179s Preparing to unpack .../53-r-cran-crayon_1.5.3-1_all.deb ... 179s Unpacking r-cran-crayon (1.5.3-1) ... 179s Selecting previously unselected package r-cran-desc. 179s Preparing to unpack .../54-r-cran-desc_1.4.3-1_all.deb ... 179s Unpacking r-cran-desc (1.4.3-1) ... 179s Selecting previously unselected package r-cran-diffobj. 179s Preparing to unpack .../55-r-cran-diffobj_0.3.5-1_arm64.deb ... 179s Unpacking r-cran-diffobj (0.3.5-1) ... 179s Selecting previously unselected package r-cran-digest. 179s Preparing to unpack .../56-r-cran-digest_0.6.37-1_arm64.deb ... 179s Unpacking r-cran-digest (0.6.37-1) ... 179s Selecting previously unselected package r-cran-evaluate. 179s Preparing to unpack .../57-r-cran-evaluate_1.0.3-1_all.deb ... 179s Unpacking r-cran-evaluate (1.0.3-1) ... 179s Selecting previously unselected package r-cran-fs. 179s Preparing to unpack .../58-r-cran-fs_1.6.5+dfsg-1_arm64.deb ... 179s Unpacking r-cran-fs (1.6.5+dfsg-1) ... 179s Selecting previously unselected package r-cran-glue. 179s Preparing to unpack .../59-r-cran-glue_1.8.0-1_arm64.deb ... 179s Unpacking r-cran-glue (1.8.0-1) ... 180s Selecting previously unselected package r-cran-jsonlite. 180s Preparing to unpack .../60-r-cran-jsonlite_1.9.1+dfsg-1_arm64.deb ... 180s Unpacking r-cran-jsonlite (1.9.1+dfsg-1) ... 180s Selecting previously unselected package r-cran-lattice. 180s Preparing to unpack .../61-r-cran-lattice_0.22-6-1_arm64.deb ... 180s Unpacking r-cran-lattice (0.22-6-1) ... 180s Selecting previously unselected package r-cran-rlang. 180s Preparing to unpack .../62-r-cran-rlang_1.1.5-1_arm64.deb ... 180s Unpacking r-cran-rlang (1.1.5-1) ... 180s Selecting previously unselected package r-cran-lifecycle. 180s Preparing to unpack .../63-r-cran-lifecycle_1.0.4+dfsg-1_all.deb ... 180s Unpacking r-cran-lifecycle (1.0.4+dfsg-1) ... 180s Selecting previously unselected package r-cran-matrix. 180s Preparing to unpack .../64-r-cran-matrix_1.7-3-1_arm64.deb ... 180s Unpacking r-cran-matrix (1.7-3-1) ... 180s Selecting previously unselected package r-cran-mass. 180s Preparing to unpack .../65-r-cran-mass_7.3-65-1_arm64.deb ... 180s Unpacking r-cran-mass (7.3-65-1) ... 180s Selecting previously unselected package r-cran-nlme. 180s Preparing to unpack .../66-r-cran-nlme_3.1.168-1_arm64.deb ... 180s Unpacking r-cran-nlme (3.1.168-1) ... 180s Selecting previously unselected package r-cran-pkgkitten. 180s Preparing to unpack .../67-r-cran-pkgkitten_0.2.4-1_all.deb ... 180s Unpacking r-cran-pkgkitten (0.2.4-1) ... 180s Selecting previously unselected package r-cran-rcpp. 180s Preparing to unpack .../68-r-cran-rcpp_1.0.14-1_arm64.deb ... 180s Unpacking r-cran-rcpp (1.0.14-1) ... 180s Selecting previously unselected package r-cran-minqa. 180s Preparing to unpack .../69-r-cran-minqa_1.2.8-1_arm64.deb ... 180s Unpacking r-cran-minqa (1.2.8-1) ... 180s Selecting previously unselected package libnlopt0:arm64. 180s Preparing to unpack .../70-libnlopt0_2.7.1-6ubuntu3_arm64.deb ... 180s Unpacking libnlopt0:arm64 (2.7.1-6ubuntu3) ... 180s Selecting previously unselected package r-cran-nloptr. 180s Preparing to unpack .../71-r-cran-nloptr_2.2.1-1_arm64.deb ... 180s Unpacking r-cran-nloptr (2.2.1-1) ... 181s Selecting previously unselected package r-cran-rbibutils. 181s Preparing to unpack .../72-r-cran-rbibutils_2.3-1_arm64.deb ... 181s Unpacking r-cran-rbibutils (2.3-1) ... 181s Selecting previously unselected package r-cran-rdpack. 181s Preparing to unpack .../73-r-cran-rdpack_2.6.3-1_all.deb ... 181s Unpacking r-cran-rdpack (2.6.3-1) ... 181s Selecting previously unselected package r-cran-reformulas. 181s Preparing to unpack .../74-r-cran-reformulas_0.4.0-1_all.deb ... 181s Unpacking r-cran-reformulas (0.4.0-1) ... 181s Selecting previously unselected package r-cran-rcppeigen. 181s Preparing to unpack .../75-r-cran-rcppeigen_0.3.4.0.2-1_arm64.deb ... 181s Unpacking r-cran-rcppeigen (0.3.4.0.2-1) ... 181s Selecting previously unselected package r-cran-statmod. 181s Preparing to unpack .../76-r-cran-statmod_1.5.0-1_arm64.deb ... 181s Unpacking r-cran-statmod (1.5.0-1) ... 181s Selecting previously unselected package r-cran-lme4. 181s Preparing to unpack .../77-r-cran-lme4_1.1-36-1_arm64.deb ... 181s Unpacking r-cran-lme4 (1.1-36-1) ... 181s Selecting previously unselected package r-cran-magrittr. 181s Preparing to unpack .../78-r-cran-magrittr_2.0.3-1_arm64.deb ... 181s Unpacking r-cran-magrittr (2.0.3-1) ... 181s Selecting previously unselected package r-cran-nnet. 181s Preparing to unpack .../79-r-cran-nnet_7.3-20-1_arm64.deb ... 181s Unpacking r-cran-nnet (7.3-20-1) ... 181s Selecting previously unselected package r-cran-numderiv. 181s Preparing to unpack .../80-r-cran-numderiv_2016.8-1.1-3_all.deb ... 181s Unpacking r-cran-numderiv (2016.8-1.1-3) ... 181s Selecting previously unselected package r-cran-ucminf. 181s Preparing to unpack .../81-r-cran-ucminf_1.2.2-1_arm64.deb ... 181s Unpacking r-cran-ucminf (1.2.2-1) ... 181s Selecting previously unselected package r-cran-ordinal. 181s Preparing to unpack .../82-r-cran-ordinal_2023.12-4.1-1_arm64.deb ... 181s Unpacking r-cran-ordinal (2023.12-4.1-1) ... 181s Selecting previously unselected package r-cran-pkgbuild. 182s Preparing to unpack .../83-r-cran-pkgbuild_1.4.6-1_all.deb ... 182s Unpacking r-cran-pkgbuild (1.4.6-1) ... 182s Selecting previously unselected package r-cran-rprojroot. 182s Preparing to unpack .../84-r-cran-rprojroot_2.0.4-2_all.deb ... 182s Unpacking r-cran-rprojroot (2.0.4-2) ... 182s Selecting previously unselected package r-cran-withr. 182s Preparing to unpack .../85-r-cran-withr_3.0.2+dfsg-1_all.deb ... 182s Unpacking r-cran-withr (3.0.2+dfsg-1) ... 182s Selecting previously unselected package r-cran-pkgload. 182s Preparing to unpack .../86-r-cran-pkgload_1.4.0-1_all.deb ... 182s Unpacking r-cran-pkgload (1.4.0-1) ... 182s Selecting previously unselected package r-cran-praise. 182s Preparing to unpack .../87-r-cran-praise_1.0.0-4build1_all.deb ... 182s Unpacking r-cran-praise (1.0.0-4build1) ... 182s Selecting previously unselected package r-cran-waldo. 182s Preparing to unpack .../88-r-cran-waldo_0.6.1-2_all.deb ... 182s Unpacking r-cran-waldo (0.6.1-2) ... 182s Selecting previously unselected package r-cran-testthat. 182s Preparing to unpack .../89-r-cran-testthat_3.2.3-1_arm64.deb ... 182s Unpacking r-cran-testthat (3.2.3-1) ... 182s Selecting previously unselected package r-cran-xtable. 182s Preparing to unpack .../90-r-cran-xtable_1%3a1.8-4-2_all.deb ... 182s Unpacking r-cran-xtable (1:1.8-4-2) ... 182s Setting up libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 182s Setting up libpixman-1-0:arm64 (0.44.0-3) ... 182s Setting up libsharpyuv0:arm64 (1.5.0-0.1) ... 182s Setting up liblerc4:arm64 (4.0.0+ds-5ubuntu1) ... 182s Setting up libxrender1:arm64 (1:0.9.10-1.1build1) ... 182s Setting up libdatrie1:arm64 (0.2.13-3build1) ... 182s Setting up libxcb-render0:arm64 (1.17.0-2) ... 182s Setting up unzip (6.0-28ubuntu6) ... 182s Setting up x11-common (1:7.7+23ubuntu4) ... 183s Setting up libdeflate0:arm64 (1.23-1) ... 183s Setting up libnlopt0:arm64 (2.7.1-6ubuntu3) ... 183s Setting up libxcb-shm0:arm64 (1.17.0-2) ... 183s Setting up libgomp1:arm64 (15-20250404-0ubuntu1) ... 183s Setting up libjbig0:arm64 (2.1-6.1ubuntu2) ... 183s Setting up zip (3.0-14ubuntu2) ... 183s Setting up libblas3:arm64 (3.12.1-2) ... 183s update-alternatives: using /usr/lib/aarch64-linux-gnu/blas/libblas.so.3 to provide /usr/lib/aarch64-linux-gnu/libblas.so.3 (libblas.so.3-aarch64-linux-gnu) in auto mode 183s Setting up fonts-dejavu-mono (2.37-8) ... 183s Setting up libtcl8.6:arm64 (8.6.16+dfsg-1) ... 183s Setting up fonts-dejavu-core (2.37-8) ... 183s Setting up libjpeg-turbo8:arm64 (2.1.5-3ubuntu2) ... 183s Setting up libgfortran5:arm64 (15-20250404-0ubuntu1) ... 183s Setting up libwebp7:arm64 (1.5.0-0.1) ... 183s Setting up libharfbuzz0b:arm64 (10.2.0-1) ... 183s Setting up libthai-data (0.1.29-2build1) ... 183s Setting up libxss1:arm64 (1:1.2.3-1build3) ... 183s Setting up libpaper2:arm64 (2.2.5-0.3) ... 183s Setting up xdg-utils (1.2.1-2ubuntu1) ... 183s update-alternatives: using /usr/bin/xdg-open to provide /usr/bin/open (open) in auto mode 183s Setting up libjpeg8:arm64 (8c-2ubuntu11) ... 183s Setting up libice6:arm64 (2:1.1.1-1) ... 183s Setting up liblapack3:arm64 (3.12.1-2) ... 183s update-alternatives: using /usr/lib/aarch64-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/aarch64-linux-gnu/liblapack.so.3 (liblapack.so.3-aarch64-linux-gnu) in auto mode 183s Setting up fontconfig-config (2.15.0-2.2ubuntu1) ... 183s Setting up libpaper-utils (2.2.5-0.3) ... 183s Setting up libthai0:arm64 (0.1.29-2build1) ... 183s Setting up libtiff6:arm64 (4.5.1+git230720-4ubuntu4) ... 183s Setting up libfontconfig1:arm64 (2.15.0-2.2ubuntu1) ... 183s Setting up libsm6:arm64 (2:1.2.4-1) ... 183s Setting up fontconfig (2.15.0-2.2ubuntu1) ... 185s Regenerating fonts cache... done. 185s Setting up libxft2:arm64 (2.3.6-1build1) ... 185s Setting up libtk8.6:arm64 (8.6.16-1) ... 185s Setting up libpango-1.0-0:arm64 (1.56.3-1) ... 185s Setting up libcairo2:arm64 (1.18.4-1) ... 185s Setting up libxt6t64:arm64 (1:1.2.1-1.2build1) ... 185s Setting up libpangoft2-1.0-0:arm64 (1.56.3-1) ... 185s Setting up libpangocairo-1.0-0:arm64 (1.56.3-1) ... 185s Setting up r-base-core (4.4.3-1) ... 185s Creating config file /etc/R/Renviron with new version 186s Setting up r-cran-crayon (1.5.3-1) ... 186s Setting up r-cran-lattice (0.22-6-1) ... 186s Setting up r-cran-ps (1.9.0-1) ... 186s Setting up r-cran-nlme (3.1.168-1) ... 186s Setting up r-cran-statmod (1.5.0-1) ... 186s Setting up r-cran-nnet (7.3-20-1) ... 186s Setting up r-cran-r6 (2.6.1-1) ... 186s Setting up r-cran-pkgkitten (0.2.4-1) ... 186s Setting up r-cran-numderiv (2016.8-1.1-3) ... 186s Setting up r-cran-magrittr (2.0.3-1) ... 186s Setting up r-cran-littler (0.3.20-2) ... 186s Setting up r-cran-fs (1.6.5+dfsg-1) ... 186s Setting up r-cran-rcpp (1.0.14-1) ... 186s Setting up r-cran-brio (1.1.5-1) ... 186s Setting up r-cran-nloptr (2.2.1-1) ... 186s Setting up r-cran-boot (1.3-31-1) ... 186s Setting up r-cran-diffobj (0.3.5-1) ... 186s Setting up r-cran-rlang (1.1.5-1) ... 186s Setting up littler (0.3.20-2) ... 186s Setting up r-cran-withr (3.0.2+dfsg-1) ... 186s Setting up r-cran-processx (3.8.6-1) ... 186s Setting up r-cran-praise (1.0.0-4build1) ... 186s Setting up r-cran-digest (0.6.37-1) ... 186s Setting up r-cran-evaluate (1.0.3-1) ... 186s Setting up r-cran-mass (7.3-65-1) ... 186s Setting up r-cran-glue (1.8.0-1) ... 186s Setting up r-cran-xtable (1:1.8-4-2) ... 186s Setting up r-cran-cli (3.6.4-1) ... 186s Setting up r-cran-rbibutils (2.3-1) ... 186s Setting up r-cran-lifecycle (1.0.4+dfsg-1) ... 186s Setting up r-cran-rprojroot (2.0.4-2) ... 186s Setting up r-cran-jsonlite (1.9.1+dfsg-1) ... 186s Setting up r-cran-ucminf (1.2.2-1) ... 186s Setting up r-cran-waldo (0.6.1-2) ... 186s Setting up r-cran-matrix (1.7-3-1) ... 186s Setting up r-cran-rcppeigen (0.3.4.0.2-1) ... 186s Setting up r-cran-minqa (1.2.8-1) ... 186s Setting up r-cran-callr (3.7.6-1) ... 186s Setting up r-cran-ordinal (2023.12-4.1-1) ... 186s Setting up r-cran-desc (1.4.3-1) ... 186s Setting up r-cran-rdpack (2.6.3-1) ... 186s Setting up r-cran-pkgbuild (1.4.6-1) ... 186s Setting up r-cran-reformulas (0.4.0-1) ... 186s Setting up r-cran-pkgload (1.4.0-1) ... 186s Setting up r-cran-lme4 (1.1-36-1) ... 186s Setting up r-cran-testthat (3.2.3-1) ... 186s Processing triggers for libc-bin (2.41-6ubuntu1) ... 186s Processing triggers for man-db (2.13.0-1) ... 186s Processing triggers for install-info (7.1.1-1) ... 187s autopkgtest [10:48:48]: test run-unit-test: [----------------------- 188s BEGIN TEST anova.R 188s 188s R version 4.4.3 (2025-02-28) -- "Trophy Case" 188s Copyright (C) 2025 The R Foundation for Statistical Computing 188s Platform: aarch64-unknown-linux-gnu 188s 188s R is free software and comes with ABSOLUTELY NO WARRANTY. 188s You are welcome to redistribute it under certain conditions. 188s Type 'license()' or 'licence()' for distribution details. 188s 188s R is a collaborative project with many contributors. 188s Type 'contributors()' for more information and 188s 'citation()' on how to cite R or R packages in publications. 188s 188s Type 'demo()' for some demos, 'help()' for on-line help, or 188s 'help.start()' for an HTML browser interface to help. 188s Type 'q()' to quit R. 188s 188s > library(ordinal) 189s > data(wine) 189s > 189s > fm1 <- clm(rating ~ temp, data=wine) 189s > fmm1 <- clmm(rating ~ temp + (1|judge), data=wine) 189s > 189s > ## These now give identical printed results: 189s > ## Previously the printed model names were messed up when anova.clmm 189s > ## were called. 189s > anova(fm1, fmm1) 189s Likelihood ratio tests of cumulative link models: 189s 189s formula: link: threshold: 189s fm1 rating ~ temp logit flexible 189s fmm1 rating ~ temp + (1 | judge) logit flexible 189s 189s no.par AIC logLik LR.stat df Pr(>Chisq) 189s fm1 5 194.03 -92.013 189s fmm1 6 189.48 -88.739 6.5492 1 0.01049 * 189s --- 189s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 189s > anova(fmm1, fm1) 189s Likelihood ratio tests of cumulative link models: 189s 189s formula: link: threshold: 189s fm1 rating ~ temp logit flexible 189s fmm1 rating ~ temp + (1 | judge) logit flexible 189s 189s no.par AIC logLik LR.stat df Pr(>Chisq) 189s fm1 5 194.03 -92.013 189s fmm1 6 189.48 -88.739 6.5492 1 0.01049 * 189s 'test' argument ignored in anova.clm 189s 189s 'test' argument ignored in anova.clm 189s 189s --- 189s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 189s > 189s > ## Testing if 'test' and 'type' arguments are ignored properly: 189s > fm1 <- clm(rating ~ temp + contact, data=wine) 189s > fm2 <- clm(rating ~ temp, data=wine) 189s > anova(fm1, fm2, test="Chi") 189s Likelihood ratio tests of cumulative link models: 189s 189s formula: link: threshold: 189s fm2 rating ~ temp logit flexible 189s fm1 rating ~ temp + contact logit flexible 189s 189s no.par AIC logLik LR.stat df Pr(>Chisq) 189s fm2 5 194.03 -92.013 189s fm1 6 184.98 -86.492 11.043 1 0.0008902 *** 189s --- 189s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 189s > anova(fm1, fm2, type="Chi") 189s Likelihood ratio tests of cumulative link models: 189s 189s formula: link: threshold: 189s fm2 rating ~ temp logit flexible 189s fm1 rating ~ temp + contact logit flexible 189s 189s no.par AIC logLik LR.stat df Pr(>Chisq) 189s fm2 5 194.03 -92.013 189s fm1 6 184.98 -86.492 11.043 1 0.0008902 *** 189s --- 189s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 189s > anova(fm1, fm2) 189s Likelihood ratio tests of cumulative link models: 189s 189s formula: link: threshold: 189s fm2 rating ~ temp logit flexible 189s fm1 rating ~ temp + contact logit flexible 189s 189s no.par AIC logLik LR.stat df Pr(>Chisq) 189s fm2 5 194.03 -92.013 189s fm1 6 184.98 -86.492 11.043 1 0.0008902 *** 189s --- 189s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 189s > ## calling anova.clmm 189s > anova(fmm1, fm1, test="Chi") 189s Likelihood ratio tests of cumulative link models: 189s 189s formula: link: threshold: 189s fmm1 rating ~ temp + (1 | judge) logit flexible 189s fm1 rating ~ temp + contact logit flexible 189s 189s no.par AIC logLik LR.stat df Pr(>Chisq) 189s fmm1 6 189.48 -88.739 189s fm1 6 184.98 -86.492 4.4938 0 189s > anova(fmm1, fm1, type="Chi") 189s Likelihood ratio tests of cumulative link models: 189s 189s formula: link: threshold: 189s fmm1 rating ~ temp + (1 | judge) logit flexible 189s fm1 rating ~ temp + contact logit flexible 189s 189s no.par AIC logLik LR.stat df Pr(>Chisq) 189s fmm1 6 189.48 -88.739 189s fm1 6 184.98 -86.492 4.4938 0 189s > 189s > 189s BEGIN TEST clm.fit.R 189s 189s R version 4.4.3 (2025-02-28) -- "Trophy Case" 189s Copyright (C) 2025 The R Foundation for Statistical Computing 189s Platform: aarch64-unknown-linux-gnu 189s 189s R is free software and comes with ABSOLUTELY NO WARRANTY. 189s You are welcome to redistribute it under certain conditions. 189s Type 'license()' or 'licence()' for distribution details. 189s 189s R is a collaborative project with many contributors. 189s Type 'contributors()' for more information and 189s 'citation()' on how to cite R or R packages in publications. 189s 189s Type 'demo()' for some demos, 'help()' for on-line help, or 189s 'help.start()' for an HTML browser interface to help. 189s Type 'q()' to quit R. 189s 190s > library(ordinal) 191s > data(wine) 191s > 191s > ## clm.fit with nominal and scale effects: 191s > 191s > ## get simple model: 191s > fm1 <- clm(rating ~ temp, scale=~temp, nominal=~ contact, 191s + data=wine, method="design") 191s > str(fm1, give.attr=FALSE) 191s List of 23 191s $ y : Ord.factor w/ 5 levels "1"<"2"<"3"<"4"<..: 2 3 3 4 4 4 5 5 1 2 ... 191s $ y.levels : chr [1:5] "1" "2" "3" "4" ... 191s $ X : num [1:72, 1:2] 1 1 1 1 1 1 1 1 1 1 ... 191s $ offset : num [1:72] 0 0 0 0 0 0 0 0 0 0 ... 191s $ terms :Classes 'terms', 'formula' language rating ~ temp 191s $ contrasts :List of 1 191s ..$ temp: chr "contr.treatment" 191s $ xlevels :List of 1 191s ..$ temp: chr [1:2] "cold" "warm" 191s $ weights : num [1:72] 1 1 1 1 1 1 1 1 1 1 ... 191s $ S : num [1:72, 1:2] 1 1 1 1 1 1 1 1 1 1 ... 191s $ S.terms :Classes 'terms', 'formula' language ~temp 191s $ S.off : num [1:72] 0 0 0 0 0 0 0 0 0 0 ... 191s $ S.contrasts :List of 1 191s ..$ temp: chr "contr.treatment" 191s $ S.xlevels :List of 1 191s ..$ temp: chr [1:2] "cold" "warm" 191s $ NOM : num [1:72, 1:2] 1 1 1 1 1 1 1 1 1 1 ... 191s $ nom.terms :Classes 'terms', 'formula' language ~contact 191s $ nom.contrasts:List of 1 191s ..$ contact: chr "contr.treatment" 191s $ nom.xlevels :List of 1 191s ..$ contact: chr [1:2] "no" "yes" 191s $ doFit : logi TRUE 191s $ control :List of 11 191s ..$ method : chr "design" 191s ..$ sign.location: chr "negative" 191s ..$ sign.nominal : chr "positive" 191s ..$ convergence : chr "warn" 191s ..$ trace : int 0 191s ..$ maxIter : int 100 191s ..$ gradTol : num 1e-06 191s ..$ relTol : num 1e-06 191s ..$ tol : num 1.49e-08 191s ..$ maxLineIter : int 15 191s ..$ maxModIter : int 5 191s $ link : chr "logit" 191s $ threshold : chr "flexible" 191s $ start : NULL 191s $ formulas :List of 4 191s ..$ formula :Class 'formula' language rating ~ temp 191s ..$ scale :Class 'formula' language ~temp 191s ..$ nominal :Class 'formula' language ~contact 191s ..$ fullForm:Class 'formula' language rating ~ temp + temp + contact 191s > fm1$control$method <- "Newton" 191s > res <- clm.fit(fm1) 191s > names(res) 191s [1] "aliased" "alpha" "alpha.mat" "beta" 191s [5] "coefficients" "cond.H" "convergence" "df.residual" 191s [9] "edf" "fitted.values" "gradient" "Hessian" 191s [13] "logLik" "maxGradient" "message" "n" 191s [17] "niter" "nobs" "Theta" "tJac" 191s [21] "vcov" "zeta" 191s > res$Theta 191s contact 1|2 2|3 3|4 4|5 191s 1 no -1.357136 1.2482871 3.839568 5.114111 191s 2 yes -2.969353 -0.2819631 1.959306 3.923477 191s > 191s > ## construct some weights and offsets: 191s > set.seed(1) 191s > off1 <- runif(length(fm1$y)) 191s > set.seed(1) 191s > off2 <- rnorm(length(fm1$y)) 191s > set.seed(1) 191s > wet <- runif(length(fm1$y)) 191s > 191s > ## Fit various models: 191s > fit <- clm.fit(fm1$y, fm1$X, fm1$S, fm1$NOM, weights=wet) 191s > Coef <- 191s + c(-0.905224120279548, 1.31043498891987, 3.34235590523008, 191s + 4.52389661722693, -3.03954652971192, -1.56922389038976, 191s + -1.75662549320839, -1.16845464236365, 2.52988580848393, 191s + -0.0261457032829033) 191s > stopifnot(all.equal(coef(fit), Coef, check.attributes=FALSE, tol=1e-6)) 191s > str(fit) 191s List of 20 191s $ aliased :Warning message: 191s Cannot assess if all thresholds are increasing 191s List of 3 191s ..$ alpha: Named logi [1:8] FALSE FALSE FALSE FALSE FALSE FALSE ... 191s .. ..- attr(*, "names")= chr [1:8] "1|2.(Intercept)" "2|3.(Intercept)" "3|4.(Intercept)" "4|5.(Intercept)" ... 191s ..$ beta : Named logi FALSE 191s .. ..- attr(*, "names")= chr "tempwarm" 191s ..$ zeta : Named logi FALSE 191s .. ..- attr(*, "names")= chr "tempwarm" 191s $ alpha : Named num [1:8] -0.905 1.31 3.342 4.524 -3.04 ... 191s ..- attr(*, "names")= chr [1:8] "1|2.(Intercept)" "2|3.(Intercept)" "3|4.(Intercept)" "4|5.(Intercept)" ... 191s $ beta : Named num 2.53 191s ..- attr(*, "names")= chr "tempwarm" 191s $ coefficients : Named num [1:10] -0.905 1.31 3.342 4.524 -3.04 ... 191s ..- attr(*, "names")= chr [1:10] "1|2.(Intercept)" "2|3.(Intercept)" "3|4.(Intercept)" "4|5.(Intercept)" ... 191s $ cond.H : num 161 191s $ convergence :List of 3 191s ..$ code : int 0 191s ..$ messages : chr "successful convergence" 191s ..$ alg.message: chr "Absolute and relative convergence criteria were met" 191s $ df.residual : num 27 191s $ edf : int 10 191s $ fitted.values: num [1:72] 0.5 0.178 0.394 0.136 0.188 ... 191s $ gradient : Named num [1:10] 7.28e-15 2.70e-13 2.67e-13 -5.17e-13 5.13e-16 ... 191s ..- attr(*, "names")= chr [1:10] "1|2.(Intercept)" "2|3.(Intercept)" "3|4.(Intercept)" "4|5.(Intercept)" ... 191s $ Hessian : num [1:10, 1:10] 2.488 -1.01 0 0 0.207 ... 191s ..- attr(*, "dimnames")=List of 2 191s .. ..$ : chr [1:10] "1|2.(Intercept)" "2|3.(Intercept)" "3|4.(Intercept)" "4|5.(Intercept)" ... 191s .. ..$ : chr [1:10] "1|2.(Intercept)" "2|3.(Intercept)" "3|4.(Intercept)" "4|5.(Intercept)" ... 191s $ logLik : num -44.9 191s $ maxGradient : num 8.93e-13 191s $ message : chr "Absolute and relative convergence criteria were met" 191s $ n : int 72 191s $ niter : Named num [1:2] 9 0 191s ..- attr(*, "names")= chr [1:2] "outer" "inner" 191s $ nobs : num 37 191s $ tJac : num [1:4, 1:4] 1 0 0 0 0 1 0 0 0 0 ... 191s ..- attr(*, "dimnames")=List of 2 191s .. ..$ : chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s .. ..$ : chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s $ vcov : num [1:10, 1:10] 0.5338 0.1835 0.0254 -0.0626 -0.511 ... 191s ..- attr(*, "dimnames")=List of 2 191s .. ..$ : chr [1:10] "1|2.(Intercept)" "2|3.(Intercept)" "3|4.(Intercept)" "4|5.(Intercept)" ... 191s .. ..$ : chr [1:10] "1|2.(Intercept)" "2|3.(Intercept)" "3|4.(Intercept)" "4|5.(Intercept)" ... 191s $ zeta : Named num -0.0261 191s ..- attr(*, "names")= chr "tempwarm" 191s - attr(*, "class")= chr "clm.fit" 191s > 191s > fit <- clm.fit(fm1$y, fm1$X, fm1$S, fm1$NOM, offset=off1) 191s > str(fit) 191s List of 20 191s $ aliased :List of 3 191s ..$ alpha: Named logi [1:8] FALSE FALSE FALSE FALSE FALSE FALSE ... 191s .. ..- attr(*, "names")= chr [1:8] "1|2.(Intercept)" "2|3.(Intercept)" "3|4.(Intercept)" "4|5.(Intercept)" ... 191s ..$ beta : Named logi FALSE 191s .. ..- attr(*, "names")= chr "tempwarm" 191s ..$ zeta : Named logi FALSE 191s .. ..- attr(*, "names")= chr "tempwarm" 191s $ alpha : Named num [1:8] -0.864 1.746 4.342 5.615 -1.567 ... 191s ..- attr(*, "names")= chr [1:8] "1|2.(Intercept)" "2|3.(Intercept)" "3|4.(Intercept)" "4|5.(Intercept)" ... 191s $ beta : Named num 2.7 191s ..- attr(*, "names")= chr "tempwarm" 191s $ coefficients : Named num [1:10] -0.864 1.746 4.342 5.615 -1.567 ... 191s ..- attr(*, "names")=Warning message: 191s Cannot assess if all thresholds are increasing 191s chr [1:10] "1|2.(Intercept)" "2|3.(Intercept)" "3|4.(Intercept)" "4|5.(Intercept)" ... 191s $ cond.H : num 196 191s $ convergence :List of 3 191s ..$ code : int 0 191s ..$ messages : chr "successful convergence" 191s ..$ alg.message: chr "Absolute and relative convergence criteria were met" 191s $ df.residual : num 62 191s $ edf : int 10 191s $ fitted.values: num [1:72] 0.57 0.183 0.452 0.145 0.135 ... 191s $ gradient : Named num [1:10] 2.19e-09 6.14e-08 5.92e-08 -1.23e-07 4.69e-10 ... 191s ..- attr(*, "names")= chr [1:10] "1|2.(Intercept)" "2|3.(Intercept)" "3|4.(Intercept)" "4|5.(Intercept)" ... 191s $ Hessian : num [1:10, 1:10] 4.48 -1.89 0 0 1.02 ... 191s ..- attr(*, "dimnames")=List of 2 191s .. ..$ : chr [1:10] "1|2.(Intercept)" "2|3.(Intercept)" "3|4.(Intercept)" "4|5.(Intercept)" ... 191s .. ..$ : chr [1:10] "1|2.(Intercept)" "2|3.(Intercept)" "3|4.(Intercept)" "4|5.(Intercept)" ... 191s $ logLik : num -86.1 191s $ maxGradient : num 2.17e-07 191s $ message : chr "Absolute and relative convergence criteria were met" 191s $ n : int 72 191s $ niter : Named num [1:2] 8 0 191s ..- attr(*, "names")= chr [1:2] "outer" "inner" 191s $ nobs : num 72 191s $ tJac : num [1:4, 1:4] 1 0 0 0 0 1 0 0 0 0 ... 191s ..- attr(*, "dimnames")=List of 2 191s .. ..$ : chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s .. ..$ : chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s $ vcov : num [1:10, 1:10] 0.33117 0.09074 0.00108 -0.04015 -0.31468 ... 191s ..- attr(*, "dimnames")=List of 2 191s .. ..$ : chr [1:10] "1|2.(Intercept)" "2|3.(Intercept)" "3|4.(Intercept)" "4|5.(Intercept)" ... 191s .. ..$ : chr [1:10] "1|2.(Intercept)" "2|3.(Intercept)" "3|4.(Intercept)" "4|5.(Intercept)" ... 191s $ zeta : Named num 0.114 191s ..- attr(*, "names")= chr "tempwarm" 191s - attr(*, "class")= chr "clm.fit" 191s > 191s > fit <- clm.fit(fm1$y, fm1$X, fm1$S, fm1$NOM, offset=off1, 191s + S.offset=off2) 191s > str(fit) 191s List of 20 191s $ aliased :List of 3 191s ..$ alpha: Named logi [1:8] FALSE FALSE FALSE FALSE FALSE FALSE ... 191s .. ..- attr(*, "names")= chr [1:8] "1|2.(Intercept)" "2|3.(Intercept)" "3|4.(Intercept)" "4|5.(Intercept)" ... 191s ..$ beta : Named logi Warning message: 191s Cannot assess if all thresholds are increasing 191s FALSE 191s .. ..- attr(*, "names")= chr "tempwarm" 191s ..$ zeta : Named logi FALSE 191s .. ..- attr(*, "names")= chr "tempwarm" 191s $ alpha : Named num [1:8] -0.585 1.951 3.24 4.18 -6.481 ... 191s ..- attr(*, "names")= chr [1:8] "1|2.(Intercept)" "2|3.(Intercept)" "3|4.(Intercept)" "4|5.(Intercept)" ... 191s $ beta : Named num 2.12 191s ..- attr(*, "names")= chr "tempwarm" 191s $ coefficients : Named num [1:10] -0.585 1.951 3.24 4.18 -6.481 ... 191s ..- attr(*, "names")= chr [1:10] "1|2.(Intercept)" "2|3.(Intercept)" "3|4.(Intercept)" "4|5.(Intercept)" ... 191s $ cond.H : num 634 191s $ convergence :List of 3 191s ..$ code : int 0 191s ..$ messages : chr "successful convergence" 191s ..$ alg.message: chr "Absolute and relative convergence criteria were met" 191s $ df.residual : num 62 191s $ edf : int 10 191s $ fitted.values: num [1:72] 0.7899 0.1277 0.7 0.0888 0.1521 ... 191s $ gradient : Named num [1:10] 6.73e-12 8.06e-10 7.28e-10 -7.85e-10 1.15e-12 ... 191s ..- attr(*, "names")= chr [1:10] "1|2.(Intercept)" "2|3.(Intercept)" "3|4.(Intercept)" "4|5.(Intercept)" ... 191s $ Hessian : num [1:10, 1:10] 4.126 -1.006 0 0 0.079 ... 191s ..- attr(*, "dimnames")=List of 2 191s .. ..$ : chr [1:10] "1|2.(Intercept)" "2|3.(Intercept)" "3|4.(Intercept)" "4|5.(Intercept)" ... 191s .. ..$ : chr [1:10] "1|2.(Intercept)" "2|3.(Intercept)" "3|4.(Intercept)" "4|5.(Intercept)" ... 191s $ logLik : num -87.6 191s $ maxGradient : num 9.74e-10 191s $ message : chr "Absolute and relative convergence criteria were met" 191s $ n : int 72 191s $ niter : Named num [1:2] 13 0 191s ..- attr(*, "names")= chr [1:2] "outer" "inner" 191s $ nobs : num 72 191s $ tJac : num [1:4, 1:4] 1 0 0 0 0 1 0 0 0 0 ... 191s ..- attr(*, "dimnames")=List of 2 191s .. ..$ : chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s .. ..$ : chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s $ vcov : num [1:10, 1:10] 0.2616 0.0523 0.0345 0.0236 -0.2449 ... 191s ..- attr(*, "dimnames")=List of 2 191s .. ..$ : chr [1:10] "1|2.(Intercept)" "2|3.(Intercept)" "3|4.(Intercept)" "4|5.(Intercept)" ... 191s .. ..$ : chr [1:10] "1|2.(Intercept)" "2|3.(Intercept)" "3|4.(Intercept)" "4|5.(Intercept)" ... 191s $ zeta : Named num -0.502 191s ..- attr(*, "names")= chr "tempwarm" 191s - attr(*, "class")= chr "clm.fit" 191s > 191s > fit <- clm.fit(fm1$y, fm1$X, fm1$S) 191s > str(fit) 191s List of 21 191s $ aliased :List of 3 191s ..$ alpha: Named logi [1:4] FALSE FALSE FALSE FALSE 191s .. ..- attr(*, "names")= chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s ..$ beta : Named logi FALSE 191s .. ..- attr(*, "names")= chr "tempwarm" 191s ..$ zeta : Named logi FALSE 191s .. ..- attr(*, "names")= chr "tempwarm" 191s $ alpha : Named num [1:4] -1.988 0.418 2.648 4.306 191s ..- attr(*, "names")= chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s $ beta : Named num 2.51 191s ..- attr(*, "names")= chr "tempwarm" 191s $ coefficients : Named num [1:6] -1.988 0.418 2.648 4.306 2.512 ... 191s ..- attr(*, "names")= chr [1:6] "1|2" "2|3" "3|4" "4|5" ... 191s $ cond.H : num 80.6 191s $ convergence :List of 3 191s ..$ code : int 0 191s ..$ messages : chr "successful convergence" 191s ..$ alg.message: chr "Absolute and relative convergence criteria were met" 191s $ df.residual : num 66 191s $ edf : int 6 191s $ fitted.values: num [1:72] 0.4826 0.3308 0.3308 0.0528 0.2897 ... 191s $ gradient : Named num [1:6] 7.03e-09 6.91e-08 5.99e-07 -7.42e-07 2.76e-08 ... 191s ..- attr(*, "names")= chr [1:6] "1|2" "2|3" "3|4" "4|5" ... 191s $ Hessian : num [1:6, 1:6] 4.8066 -2.4889 0 0 -0.0926 ... 191s ..- attr(*, "dimnames")=List of 2 191s .. ..$ : chr [1:6] "1|2" "2|3" "3|4" "4|5" ... 191s .. ..$ : chr [1:6] "1|2" "2|3" "3|4" "4|5" ... 191s $ logLik : num -91.8 191s $ maxGradient : num 8.53e-07 191s $ message : chr "Absolute and relative convergence criteria were met" 191s $ n : int 72 191s $ niter : Named num [1:2] 8 0 191s ..- attr(*, "names")= chr [1:2] "outer" "inner" 191s $ nobs : num 72 191s $ Theta : num [1, 1:4] -1.988 0.418 2.648 4.306 191s ..- attr(*, "dimnames")=List of 2 191s .. ..$ : NULL 191s .. ..$ : chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s $ tJac : num [1:4, 1:4] 1 0 0 0 0 1 0 0 0 0 ... 191s ..- attr(*, "dimnames")=List of 2 191s .. ..$ : chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s .. ..$ : chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s $ vcov : num [1:6, 1:6] 0.2481 0.0622 0.0179 -0.0253 0.0197 ... 191s ..- attr(*, "dimnames")=List of 2 191s .. ..$ : chr [1:6] "1|2" "2|3" "3|4" "4|5" ... 191s .. ..$ : chr [1:6] "1|2" "2|3" "3|4" "4|5" ... 191s $ zeta : Named num 0.176 191s ..- attr(*, "names")= chr "tempwarm" 191s - attr(*, "class")= chr "clm.fit" 191s > 191s > fit <- clm.fit(fm1$y, fm1$X) 191s > str(fit) 191s List of 20 191s $ aliased :List of 2 191s ..$ alpha: Named logi [1:4] FALSE FALSE FALSE FALSE 191s .. ..- attr(*, "names")= chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s ..$ beta : Named logi FALSE 191s .. ..- attr(*, "names")= chr "tempwarm" 191s $ alpha : Named num [1:4] -1.936 0.435 2.432 3.827 191s ..- attr(*, "names")= chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s $ beta : Named num 2.29 191s ..- attr(*, "names")= chr "tempwarm" 191s $ coefficients : Named num [1:5] -1.936 0.435 2.432 3.827 2.287 191s ..- attr(*, "names")= chr [1:5] "1|2" "2|3" "3|4" "4|5" ... 191s $ cond.H : num 16.8 191s $ convergence :List of 3 191s ..$ code : int 0 191s ..$ messages : chr "successful convergence" 191s ..$ alg.message: chr "Absolute and relative convergence criteria were met" 191s $ df.residual : num 67 191s $ edf : int 5 191s $ fitted.values: num [1:72] 0.481 0.3122 0.3122 0.0594 0.2871 ... 191s $ gradient : Named num [1:5] 4.12e-14 8.11e-14 -1.06e-13 9.19e-16 -1.79e-14 191s ..- attr(*, "names")= chr [1:5] "1|2" "2|3" "3|4" "4|5" ... 191s $ Hessian : num [1:5, 1:5] 4.8983 -2.499 0 0 -0.0854 ... 191s ..- attr(*, "dimnames")=List of 2 191s .. ..$ : chr [1:5] "1|2" "2|3" "3|4" "4|5" ... 191s .. ..$ : chr [1:5] "1|2" "2|3" "3|4" "4|5" ... 191s $ logLik : num -92 191s $ maxGradient : num 1.06e-13 191s $ message : chr "Absolute and relative convergence criteria were met" 191s $ n : int 72 191s $ niter : Named num [1:2] 6 0 191s ..- attr(*, "names")= chr [1:2] "outer" "inner" 191s $ nobs : num 72 191s $ Theta : num [1, 1:4] -1.936 0.435 2.432 3.827 191s ..- attr(*, "dimnames")=List of 2 191s .. ..$ : NULL 191s .. ..$ : chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s $ tJac : num [1:4, 1:4] 1 0 0 0 0 1 0 0 0 0 ... 191s ..- attr(*, "dimnames")=List of 2 191s .. ..$ : chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s .. ..$ : chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s $ vcov : num [1:5, 1:5] 0.2345 0.0577 0.0505 0.0512 0.0537 ... 191s ..- attr(*, "dimnames")=List of 2 191s .. ..$ : chr [1:5] "1|2" "2|3" "3|4" "4|5" ... 191s .. ..$ : chr [1:5] "1|2" "2|3" "3|4" "4|5" ... 191s - attr(*, "class")= chr "clm.fit" 191s > 191s > fit <- clm.fit(fm1$y) 191s > coef(fit) 191s 1|2 2|3 3|4 4|5 191s -2.5952547 -0.5108256 1.0258529 2.2284771 191s > str(fit) 191s List of 19 191s $ aliased :List of 2 191s ..$ alpha: Named logi [1:4] FALSE FALSE FALSE FALSE 191s .. ..- attr(*, "names")= chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s ..$ beta : Named logi(0) 191s .. ..- attr(*, "names")= chr(0) 191s $ alpha : Named num [1:4] -2.595 -0.511 1.026 2.228 191s ..- attr(*, "names")= chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s $ coefficients : Named num [1:4] -2.595 -0.511 1.026 2.228 191s ..- attr(*, "names")= chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s $ cond.H : num 8.38 191s $ convergence :List of 3 191s ..$ code : int 0 191s ..$ messages : chr "successful convergence" 191s ..$ alg.message: chr "Absolute and relative convergence criteria were met" 191s $ df.residual : num 68 191s $ edf : int 4 191s $ fitted.values: num [1:72] 0.306 0.361 0.361 0.167 0.167 ... 191s $ gradient : Named num [1:4] 7.23e-08 -5.51e-08 -1.72e-11 -4.87e-12 191s ..- attr(*, "names")= chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s $ Hessian : num [1:4, 1:4] 5.31 -3.57 0 0 -3.57 ... 191s ..- attr(*, "dimnames")=List of 2 191s .. ..$ : chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s .. ..$ : chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s $ logLik : num -104 191s $ maxGradient : num 7.23e-08 191s $ message : chr "Absolute and relative convergence criteria were met" 191s $ n : int 72 191s $ niter : Named num [1:2] 5 0 191s ..- attr(*, "names")= chr [1:2] "outer" "inner" 191s $ nobs : num 72 191s $ Theta : num [1, 1:4] -2.595 -0.511 1.026 2.228 191s ..- attr(*, "dimnames")=List of 2 191s .. ..$ : NULL 191s .. ..$ : chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s $ tJac : num [1:4, 1:4] 1 0 0 0 0 1 0 0 0 0 ... 191s ..- attr(*, "dimnames")=List of 2 191s .. ..$ : chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s .. ..$ : chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s $ vcov : num [1:4, 1:4] 0.2149 0.0398 0.0203 0.0165 0.0398 ... 191s ..- attr(*, "dimnames")=List of 2 191s .. ..$ : chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s .. ..$ : chr [1:4] "1|2" "2|3" "3|4" "4|5" 191s - attr(*, "class")= chr "clm.fit" 191s > 191s > ## Remember: compare with corresponding .Rout file 191s > 191s BEGIN TEST clm.formula.R 191s 191s R version 4.4.3 (2025-02-28) -- "Trophy Case" 191s Copyright (C) 2025 The R Foundation for Statistical Computing 191s Platform: aarch64-unknown-linux-gnu 191s 191s R is free software and comes with ABSOLUTELY NO WARRANTY. 191s You are welcome to redistribute it under certain conditions. 191s Type 'license()' or 'licence()' for distribution details. 191s 191s R is a collaborative project with many contributors. 191s Type 'contributors()' for more information and 191s 'citation()' on how to cite R or R packages in publications. 191s 191s Type 'demo()' for some demos, 'help()' for on-line help, or 191s 'help.start()' for an HTML browser interface to help. 191s Type 'q()' to quit R. 191s 191s > library(ordinal) 192s > ## library(devtools) 192s > ## r2path <- "/Users/rhbc/Documents/Rpackages/ordinal/pkg/ordinal" 192s > ## clean_dll(pkg = r2path) 192s > ## load_all(r2path) 192s > 192s > ################################# 192s > ## Appropriate evaluation of formulas: 192s > 192s > ## These fail and give appropriate error messages: 192s > ## fm1 <- clm(rating ~ contact, scale=temp, data=wine) 192s > ## fm1 <- clm(rating ~ contact, scale=~Temp, data=wine) 192s > ## fm1 <- clm(rating ~ contact, scale="temp", data=wine) 192s > ## sca <- "temp" 192s > ## fm1 <- clm(rating ~ contact, scale=sca, data=wine) 192s > ## sca <- as.formula(sca) 192s > ## sca <- as.formula(temp) 192s > ## sca <- with(wine, as.formula(temp)) 192s > 192s > ## These all work as intended with no warnings or errors: 192s > fm1 <- clm(rating ~ contact, scale="~temp", data=wine) 192s > fm1 <- clm(rating ~ contact, scale=~temp, data=wine) 192s > sca <- "~temp" 192s > fm1 <- clm(rating ~ contact, scale=sca, data=wine) 192s > sca <- as.formula("~temp") 192s > fm1 <- clm(rating ~ contact, scale=sca, data=wine) 192s > fm1 <- clm(rating ~ contact, scale=as.formula(~temp), data=wine) 192s > fm1 <- clm(rating ~ contact, scale=as.formula("~temp"), data=wine) 192s > 192s > ################################# 192s > ## can evaluate if 'formula' is a character: 192s > f <- "rating ~ contact + temp" 192s > clm(f, data=wine) 192s formula: rating ~ contact + temp 192s data: wine 192s 192s link threshold nobs logLik AIC niter max.grad cond.H 192s logit flexible 72 -86.49 184.98 6(0) 4.01e-12 2.7e+01 192s 192s Coefficients: 192s contactyes tempwarm 192s 1.528 2.503 192s 192s Threshold coefficients: 192s 1|2 2|3 3|4 4|5 192s -1.344 1.251 3.467 5.006 192s > clm(as.formula(f), data=wine) 192s formula: rating ~ contact + temp 192s data: wine 192s 192s link threshold nobs logLik AIC niter max.grad cond.H 192s logit flexible 72 -86.49 184.98 6(0) 4.01e-12 2.7e+01 192s 192s Coefficients: 192s contactyes tempwarm 192s 1.528 2.503 192s 192s Threshold coefficients: 192s 1|2 2|3 3|4 4|5 192s -1.344 1.251 3.467 5.006 192s > 192s > ################################# 192s > 192s > ### finding variables in the environment of the formula: 192s > makeform <- function() { 192s + f1 <- as.formula(rating ~ temp + contact) 192s + rating <- wine$rating 192s + temp <- wine$temp 192s + contact <- wine$contact 192s + f1 192s + } 192s > ## 'makeform' makes are formula object in the environment of the 192s > ## function makeform: 192s > f1 <- makeform() 192s > f1 # print 192s rating ~ temp + contact 192s 192s > class(f1) 192s [1] "formula" 192s > ## If we give the data, we can evaluate the model: 192s > fm1 <- clm(f1, data=wine) 192s > ## We can also evaluate the model because the data are available in 192s > ## the environment associated with the formula: 192s > fm1 <- clm(f1) 192s > ## For instance, the 'rating' variable is not found in the Global 192s > ## environment; we have to evaluate the 'name' of 'rating' in the 192s > ## appropriate environment: 192s > (try(rating, silent=TRUE)) 192s [1] "Error : object 'rating' not found\n" 192s attr(,"class") 192s [1] "try-error" 192s attr(,"condition") 192s 192s > eval(as.name("rating"), envir=environment(f1)) 192s [1] 2 3 3 4 4 4 5 5 1 2 1 3 2 3 5 4 2 3 3 2 5 5 4 4 3 2 3 2 3 2 5 3 2 3 4 3 3 3 192s [39] 3 3 3 2 3 2 2 4 5 4 1 1 2 2 2 3 2 3 2 2 2 3 3 3 3 4 1 2 3 2 3 2 4 4 192s Levels: 1 < 2 < 3 < 4 < 5 192s > ## If instead we generate the formula in the Global environment where 192s > ## the variables are not found, we cannot evaluate the model: 192s > f2 <- as.formula(rating ~ temp + contact) 192s > (try(fm2 <- clm(f2), silent=TRUE)) 192s [1] "Error in eval(predvars, data, env) : object 'rating' not found\n" 192s attr(,"class") 192s [1] "try-error" 192s attr(,"condition") 192s 192s > environment(f2) <- environment(f1) 192s > fm2 <- clm(f2) 192s > 192s > 192s > ################################# 192s > ## Use of formula-objects in location, scale and nominal: 192s > ## Bug-report from Llus Marco Almagro 192s > ## 5 May 2010 17:58 192s > f <- formula(rating ~ temp) 192s > fs <- formula( ~ contact) 192s > m2 <- clm(f, scale = fs, data = wine) 193s > summary(m2) 193s formula: rating ~ temp 193s scale: ~contact 193s data: wine 193s 193s link threshold nobs logLik AIC niter max.grad cond.H 193s logit flexible 72 -91.92 195.83 8(0) 1.57e-09 5.6e+01 193s 193s Coefficients: 193s Estimate Std. Error z value Pr(>|z|) 193s tempwarm 2.1690 0.5527 3.924 8.69e-05 *** 193s --- 193s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 193s 193s log-scale coefficients: 193s Estimate Std. Error z value Pr(>|z|) 193s contactyes -0.1222 0.2775 -0.44 0.66 193s 193s Threshold coefficients: 193s Estimate Std. Error z value 193s 1|2 -1.8957 0.4756 -3.986 193s 2|3 0.3668 0.3442 1.066 193s 3|4 2.2483 0.5932 3.790 193s 4|5 3.5393 0.8336 4.246 193s > 193s > ################################# 193s > ## Other ways to construct formulas: 193s > set.seed(12345) 193s > y <- factor(sample(1:4,20,replace=TRUE)) 193s > x <- rnorm(20) 193s > data <- data.frame(y=y,x=x) 193s > rm(x, y) 193s > fit <- clm(data$y ~ data$x) 193s > fit 193s formula: data$y ~ data$x 193s 193s link threshold nobs logLik AIC niter max.grad cond.H 193s logit flexible 20 -25.37 58.74 5(0) 2.68e-09 8.4e+00 193s 193s Coefficients: 193s data$x 193s 0.2527 193s 193s Threshold coefficients: 193s 1|2 2|3 3|4 193s -2.18234 0.06059 0.92746 193s > fit <- clm(data[,1] ~ data[,2]) 193s > fit 193s formula: data[, 1] ~ data[, 2] 193s 193s link threshold nobs logLik AIC niter max.grad cond.H 193s logit flexible 20 -25.37 58.74 5(0) 2.68e-09 8.4e+00 193s 193s Coefficients: 193s data[, 2] 193s 0.2527 193s 193s Threshold coefficients: 193s 1|2 2|3 3|4 193s -2.18234 0.06059 0.92746 193s > ## This previously failed, but now works: 193s > fit <- clm(data$y ~ data$x, ~data$x) 193s > fit 193s formula: data$y ~ data$x 193s scale: ~data$x 193s 193s link threshold nobs logLik AIC niter max.grad cond.H 193s logit flexible 20 -25.32 60.64 7(0) 1.86e-09 9.7e+00 193s 193s Coefficients: 193s data$x 193s 0.2477 193s 193s log-scale coefficients: 193s data$x 193s -0.1136 193s 193s Threshold coefficients: 193s 1|2 2|3 3|4 193s -2.16950 0.07039 0.91381 193s > 193s > ################################# 193s > ## Evaluation within other functions: 193s > ## date: January 18th 2012. 193s > ## 193s > ## The problem was raised by Stefan Herzog (stefan.herzog@unibas.ch) 193s > ## January 12th 2012 in trying to make clm work with glmulti. 193s > 193s > fun.clm <- function(formula, data) 193s + ### This only works because clm via eclm.model.frame is careful to 193s + ### evaluate the 'formula' in the parent environment such it is not the 193s + ### character "formula" that is attempted evaluated. 193s + clm(formula, data = data) 193s > 193s > fun2.clm <- function(formula, data, weights, subset) { 193s + ### This should be the safe way to ensure evaluation of clm in the 193s + ### right environment. 193s + mc <- match.call() 193s + mc[[1]] <- as.name("clm") 193s + eval.parent(mc) 193s + } 193s > 193s > fun.clm(rating ~ temp + contact, data=wine) ## works 193s formula: rating ~ temp + contact 193s data: data 193s 193s link threshold nobs logLik AIC niter max.grad cond.H 193s logit flexible 72 -86.49 184.98 6(0) 4.01e-12 2.7e+01 193s 193s Coefficients: 193s tempwarm contactyes 193s 2.503 1.528 193s 193s Threshold coefficients: 193s 1|2 2|3 3|4 4|5 193s -1.344 1.251 3.467 5.006 193s > fun2.clm(rating ~ temp + contact, data=wine) ## works 193s formula: rating ~ temp + contact 193s data: wine 193s 193s link threshold nobs logLik AIC niter max.grad cond.H 193s logit flexible 72 -86.49 184.98 6(0) 4.01e-12 2.7e+01 193s 193s Coefficients: 193s tempwarm contactyes 193s 2.503 1.528 193s 193s Threshold coefficients: 193s 1|2 2|3 3|4 4|5 193s -1.344 1.251 3.467 5.006 193s > 193s > form1 <- "rating ~ temp + contact" 193s > fun.clm(form1, data=wine) ## works 193s formula: rating ~ temp + contact 193s data: data 193s 193s link threshold nobs logLik AIC niter max.grad cond.H 193s logit flexible 72 -86.49 184.98 6(0) 4.01e-12 2.7e+01 193s 193s Coefficients: 193s tempwarm contactyes 193s 2.503 1.528 193s 193s Threshold coefficients: 193s 1|2 2|3 3|4 4|5 193s -1.344 1.251 3.467 5.006 193s > fun2.clm(form1, data=wine) ## works 193s formula: rating ~ temp + contact 193s data: wine 193s 193s link threshold nobs logLik AIC niter max.grad cond.H 193s logit flexible 72 -86.49 184.98 6(0) 4.01e-12 2.7e+01 193s 193s Coefficients: 193s tempwarm contactyes 193s 2.503 1.528 193s 193s Threshold coefficients: 193s 1|2 2|3 3|4 4|5 193s -1.344 1.251 3.467 5.006 193s > 193s > form2 <- formula(rating ~ temp + contact) 193s > fun.clm(form2, data=wine) ## works 193s formula: rating ~ temp + contact 193s data: data 193s 193s link threshold nobs logLik AIC niter max.grad cond.H 193s logit flexible 72 -86.49 184.98 6(0) 4.01e-12 2.7e+01 193s 193s Coefficients: 193s tempwarm contactyes 193s 2.503 1.528 193s 193s Threshold coefficients: 193s 1|2 2|3 3|4 4|5 193s -1.344 1.251 3.467 5.006 193s > fun2.clm(form2, data=wine) ## works 193s formula: rating ~ temp + contact 193s data: wine 193s 193s link threshold nobs logLik AIC niter max.grad cond.H 193s logit flexible 72 -86.49 184.98 6(0) 4.01e-12 2.7e+01 193s 193s Coefficients: 193s tempwarm contactyes 193s 2.503 1.528 193s 193s Threshold coefficients: 193s 1|2 2|3 3|4 4|5 193s -1.344 1.251 3.467 5.006 193s > ## Notice that clm is not able to get the name of the data (wine) 193s > ## correct when using fun.clm. 193s > 193s > ################################# 193s > ## Evaluation of long formulas: no line breaking in getFullForm: 193s > data(soup, package="ordinal") 193s > 193s > rhs <- paste(names(soup)[c(3, 5:12)], collapse=" + ") 193s > Location <- as.formula(paste("SURENESS ~ ", rhs, sep=" ")) 193s > Scale <- as.formula("~ PROD") 193s > 193s > fm5 <- clm(Location, scale=Scale, data=soup) 193s > summary(fm5) 193s formula: 193s SURENESS ~ PRODID + DAY + SOUPTYPE + SOUPFREQ + COLD + EASY + GENDER + AGEGROUP + LOCATION 193s scale: ~PROD 193s data: soup 193s 193s link threshold nobs logLik AIC niter max.grad cond.H 193s logit flexible 1847 -2651.65 5367.30 8(1) 4.65e-07 1.1e+04 193s 193s Coefficients: 193s Estimate Std. Error z value Pr(>|z|) 193s PRODID2 1.09324 0.14790 7.392 1.45e-13 *** 193s PRODID3 1.54233 0.21252 7.257 3.95e-13 *** 193s PRODID4 0.95602 0.18180 5.258 1.45e-07 *** 193s PRODID5 1.52404 0.20311 7.504 6.21e-14 *** 193s PRODID6 1.83964 0.21750 8.458 < 2e-16 *** 193s DAY2 -0.26999 0.10280 -2.626 0.00863 ** 193s SOUPTYPECanned -0.31340 0.11745 -2.668 0.00762 ** 193s SOUPTYPEDry-mix 0.22429 0.14295 1.569 0.11665 193s SOUPFREQ1-4/month -0.06459 0.10551 -0.612 0.54046 193s SOUPFREQ<1/month 0.03664 0.21310 0.172 0.86350 193s COLDYes 0.31373 0.14894 2.106 0.03517 * 193s EASY2 0.16689 0.55063 0.303 0.76182 193s EASY3 0.34765 0.50432 0.689 0.49061 193s EASY4 0.30008 0.48283 0.621 0.53428 193s EASY5 0.23492 0.47686 0.493 0.62226 193s EASY6 -0.03205 0.46993 -0.068 0.94562 193s EASY7 0.02823 0.46963 0.060 0.95208 193s EASY8 -0.04600 0.47066 -0.098 0.92215 193s EASY9 -0.04084 0.49595 -0.082 0.93437 193s EASY10 1.03641 0.60080 1.725 0.08452 . 193s GENDERFemale -0.05092 0.10738 -0.474 0.63534 193s AGEGROUP31-40 0.02098 0.14822 0.142 0.88745 193s AGEGROUP41-50 0.23712 0.15824 1.498 0.13401 193s AGEGROUP51-65 -0.13791 0.14393 -0.958 0.33798 193s LOCATIONRegion 2 -0.09641 0.13225 -0.729 0.46599 193s LOCATIONRegion 3 0.06062 0.11981 0.506 0.61290 193s --- 193s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 193s 193s log-scale coefficients: 193s Estimate Std. Error z value Pr(>|z|) 193s PRODTest 0.14545 0.06621 2.197 0.028 * 193s --- 193s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 193s 193s Threshold coefficients: 193s Estimate Std. Error z value 193s 1|2 -1.64700 0.49982 -3.295 193s 2|3 -0.58840 0.49681 -1.184 193s 3|4 -0.23496 0.49669 -0.473 193s 4|5 0.04394 0.49679 0.088 193s 5|6 0.78551 0.49869 1.575 193s > 193s > ################################# 193s > ## Check that "."-notation works in formula: 193s > ## December 25th 2014, RHBC 193s > data(wine) 193s > wine2 <- wine[c("rating", "contact", "temp")] 193s > str(wine2) 193s 'data.frame': 72 obs. of 3 variables: 193s $ rating : Ord.factor w/ 5 levels "1"<"2"<"3"<"4"<..: 2 3 3 4 4 4 5 5 1 2 ... 193s $ contact: Factor w/ 2 levels "no","yes": 1 1 2 2 1 1 2 2 1 1 ... 193s $ temp : Factor w/ 2 levels "cold","warm": 1 1 1 1 2 2 2 2 1 1 ... 193s > fm0 <- clm(rating ~ ., data=wine2) 193s > fm1 <- clm(rating ~ contact + temp, data=wine2) 193s > keep <- c("coefficients", "logLik", "info") 193s > fun <- function(x, y) stopifnot(isTRUE(all.equal(x, y))) 193s > mapply(fun, fm0[keep], fm1[keep]) 193s $coefficients 193s NULL 193s 193s $logLik 193s NULL 193s 193s $info 193s NULL 193s 193s > ################################# 193s > 193s BEGIN TEST clmm.R 193s 193s R version 4.4.3 (2025-02-28) -- "Trophy Case" 193s Copyright (C) 2025 The R Foundation for Statistical Computing 193s Platform: aarch64-unknown-linux-gnu 193s 193s R is free software and comes with ABSOLUTELY NO WARRANTY. 193s You are welcome to redistribute it under certain conditions. 193s Type 'license()' or 'licence()' for distribution details. 193s 193s R is a collaborative project with many contributors. 193s Type 'contributors()' for more information and 193s 'citation()' on how to cite R or R packages in publications. 193s 193s Type 'demo()' for some demos, 'help()' for on-line help, or 193s 'help.start()' for an HTML browser interface to help. 193s Type 'q()' to quit R. 193s 193s > library(ordinal) 194s > data(wine) 194s > 194s > ################################# 194s > ## Estimation with a single simple RE term: 194s > ## Laplace: 194s > fmm1 <- clmm(rating ~ contact + temp + (1|judge), data=wine) 194s > summary(fmm1) 194s Cumulative Link Mixed Model fitted with the Laplace approximation 194s 194s formula: rating ~ contact + temp + (1 | judge) 194s data: wine 194s 194s link threshold nobs logLik AIC niter max.grad cond.H 194s logit flexible 72 -81.57 177.13 332(999) 1.03e-05 2.8e+01 194s 194s Random effects: 194s Groups Name Variance Std.Dev. 194s judge (Intercept) 1.279 1.131 194s Number of groups: judge 9 194s 194s Coefficients: 194s Estimate Std. Error z value Pr(>|z|) 194s contactyes 1.8349 0.5125 3.580 0.000344 *** 194s tempwarm 3.0630 0.5954 5.145 2.68e-07 *** 194s --- 194s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 194s 194s Threshold coefficients: 194s Estimate Std. Error z value 194s 1|2 -1.6237 0.6824 -2.379 194s 2|3 1.5134 0.6038 2.507 194s 3|4 4.2285 0.8090 5.227 194s 4|5 6.0888 0.9725 6.261 194s > ## GHQ: 194s > fmm.ghq <- clmm(rating ~ contact + temp + (1|judge), data=wine, 194s + nAGQ=-10) 194s > summary(fmm.ghq) 194s Cumulative Link Mixed Model fitted with the Gauss-Hermite 194s quadrature approximation with 10 quadrature points 194s 194s formula: rating ~ contact + temp + (1 | judge) 194s data: wine 194s 194s link threshold nobs logLik AIC niter max.grad cond.H 194s logit flexible 72 -81.53 177.06 304(3) 1.67e-05 2.8e+01 194s 194s Random effects: 194s Groups Name Variance Std.Dev. 194s judge (Intercept) 1.288 1.135 194s Number of groups: judge 9 194s 194s Coefficients: 194s Estimate Std. Error z value Pr(>|z|) 194s contactyes 1.8335 0.5122 3.580 0.000344 *** 194s tempwarm 3.0620 0.5951 5.145 2.67e-07 *** 194s --- 194s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 194s 194s Threshold coefficients: 194s Estimate Std. Error z value 194s 1|2 -1.6231 0.6829 -2.377 194s 2|3 1.5133 0.6045 2.503 194s 3|4 4.2277 0.8094 5.223 194s 4|5 6.0869 0.9726 6.258 194s > ## AGQ: 194s > fmm.agq <- clmm(rating ~ contact + temp + (1|judge), data=wine, 194s + nAGQ=10) 194s > summary(fmm.agq) 194s Cumulative Link Mixed Model fitted with the adaptive Gauss-Hermite 194s quadrature approximation with 10 quadrature points 194s 194s formula: rating ~ contact + temp + (1 | judge) 194s data: wine 194s 194s link threshold nobs logLik AIC niter max.grad cond.H 194s logit flexible 72 -81.53 177.06 304(915) 2.26e-05 2.8e+01 194s 194s Random effects: 194s Groups Name Variance Std.Dev. 194s judge (Intercept) 1.288 1.135 194s Number of groups: judge 9 194s 194s Coefficients: 194s Estimate Std. Error z value Pr(>|z|) 194s contactyes 1.8334 0.5122 3.580 0.000344 *** 194s tempwarm 3.0619 0.5951 5.145 2.67e-07 *** 194s --- 194s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 194s 194s Threshold coefficients: 194s Estimate Std. Error z value 194s 1|2 -1.6235 0.6834 -2.376 194s 2|3 1.5128 0.6044 2.503 194s 3|4 4.2271 0.8090 5.225 194s 4|5 6.0862 0.9719 6.262 194s > ## tests: 194s > ## Notice warning about Laplace with multiple REs when nAGQ != 1: 194s > fmm1 <- try(clmm(rating ~ contact + temp + (1|judge) + (1|bottle), 194s + data=wine, nAGQ=10)) 194s > stopifnot(inherits(fmm1, "try-error")) 194s > 194s > ################################# 194s > ## Estimation with several RE terms: 194s > data(soup, package="ordinal") 194s Error : Quadrature methods are not available with more than one random effects term 194s > fmm <- clmm(SURENESS ~ PROD + (1|RESP) + (1|PROD:RESP), data=soup, 194s + threshold="equidistant") 196s > summary(fmm) 196s Cumulative Link Mixed Model fitted with the Laplace approximation 196s 196s formula: SURENESS ~ PROD + (1 | RESP) + (1 | PROD:RESP) 196s data: soup 196s 196s link threshold nobs logLik AIC niter max.grad cond.H 196s logit equidistant 1847 -2766.32 5542.63 225(711) 1.01e-03 1.3e+02 196s 196s Random effects: 196s Groups Name Variance Std.Dev. 196s PROD:RESP (Intercept) 0.4070 0.6379 196s RESP (Intercept) 0.1308 0.3616 196s Number of groups: PROD:RESP 370, RESP 185 196s 196s Coefficients: 196s Estimate Std. Error z value Pr(>|z|) 196s PRODTest 1.2865 0.1156 11.12 <2e-16 *** 196s --- 196s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 196s 196s Threshold coefficients: 196s Estimate Std. Error z value 196s threshold.1 -1.35104 0.09526 -14.18 196s spacing 0.56472 0.01905 29.65 196s > 196s > ################################# 196s > 196s > ## Estimation with implicit intercept: 196s > fm1 <- clmm(rating ~ 1 + (1|judge), data = wine) 196s > fm2 <- clmm(rating ~ (1|judge), data = wine) 196s > fm3 <- clmm(rating ~ 0 + (1|judge), data = wine) 196s > Warning message: 196s In getX(fullmf, fixedmf, contrasts) : an intercept is needed and assumed 196s stopifnot(isTRUE(all.equal(coef(fm1), coef(fm2), tolerance=1e-5)), 196s + isTRUE(all.equal(coef(fm1), coef(fm3), tolerance=1e-5))) 196s > 196s BEGIN TEST clmm.control.R 196s 196s R version 4.4.3 (2025-02-28) -- "Trophy Case" 196s Copyright (C) 2025 The R Foundation for Statistical Computing 196s Platform: aarch64-unknown-linux-gnu 196s 196s R is free software and comes with ABSOLUTELY NO WARRANTY. 196s You are welcome to redistribute it under certain conditions. 196s Type 'license()' or 'licence()' for distribution details. 196s 196s R is a collaborative project with many contributors. 196s Type 'contributors()' for more information and 196s 'citation()' on how to cite R or R packages in publications. 196s 196s Type 'demo()' for some demos, 'help()' for on-line help, or 196s 'help.start()' for an HTML browser interface to help. 196s Type 'q()' to quit R. 196s 196s > library(ordinal) 197s > data(wine) 197s > 197s > 197s > ### 3 options for specifying control arguments: 197s > ## 1) control is a simple list, e.g. list(trace=-1) 197s > ## 2) control is a call to clmm.control 197s > ## 3) control is an empty list; list() 197s > ## all in combination with extra control arguments. 197s > 197s > ordinal:::getCtrlArgs(clmm.control(), list(maxIter=200)) 197s $method 197s [1] "nlminb" 197s 197s $useMatrix 197s [1] FALSE 197s 197s $ctrl 197s $ctrl$trace 197s [1] 0 197s 197s $ctrl$maxIter 197s [1] 200 197s 197s $ctrl$gradTol 197s [1] 1e-04 197s 197s $ctrl$maxLineIter 197s [1] 50 197s 197s $ctrl$innerCtrl 197s [1] "warnOnly" 197s 197s 197s $optCtrl 197s $optCtrl$trace 197s [1] 0 197s 197s 197s $checkRanef 197s [1] "warn" 197s 197s > ordinal:::getCtrlArgs(list(), list(maxIter=200)) 197s $method 197s [1] "nlminb" 197s 197s $useMatrix 197s [1] FALSE 197s 197s $ctrl 197s $ctrl$trace 197s [1] 0 197s 197s $ctrl$maxIter 197s [1] 200 197s 197s $ctrl$gradTol 197s [1] 1e-04 197s 197s $ctrl$maxLineIter 197s [1] 50 197s 197s $ctrl$innerCtrl 197s [1] "warnOnly" 197s 197s 197s $optCtrl 197s $optCtrl$trace 197s [1] 0 197s 197s 197s $checkRanef 197s [1] "warn" 197s 197s > ordinal:::getCtrlArgs(list(), list(trace=-1)) 197s $method 197s [1] "nlminb" 197s 197s $useMatrix 197s [1] FALSE 197s 197s $ctrl 197s $ctrl$trace 197s [1] 1 197s 197s $ctrl$maxIter 197s [1] 50 197s 197s $ctrl$gradTol 197s [1] 1e-04 197s 197s $ctrl$maxLineIter 197s [1] 50 197s 197s $ctrl$innerCtrl 197s [1] "warnOnly" 197s 197s 197s $optCtrl 197s $optCtrl$trace 197s [1] 1 197s 197s 197s $checkRanef 197s [1] "warn" 197s 197s > ordinal:::getCtrlArgs(list(), list(trace=1)) 197s $method 197s [1] "nlminb" 197s 197s $useMatrix 197s [1] FALSE 197s 197s $ctrl 197s $ctrl$trace 197s [1] 0 197s 197s $ctrl$maxIter 197s [1] 50 197s 197s $ctrl$gradTol 197s [1] 1e-04 197s 197s $ctrl$maxLineIter 197s [1] 50 197s 197s $ctrl$innerCtrl 197s [1] "warnOnly" 197s 197s 197s $optCtrl 197s $optCtrl$trace 197s [1] 1 197s 197s 197s $checkRanef 197s [1] "warn" 197s 197s > ordinal:::getCtrlArgs(list(), list()) 197s $method 197s [1] "nlminb" 197s 197s $useMatrix 197s [1] FALSE 197s 197s $ctrl 197s $ctrl$trace 197s [1] 0 197s 197s $ctrl$maxIter 197s [1] 50 197s 197s $ctrl$gradTol 197s [1] 1e-04 197s 197s $ctrl$maxLineIter 197s [1] 50 197s 197s $ctrl$innerCtrl 197s [1] "warnOnly" 197s 197s 197s $optCtrl 197s $optCtrl$trace 197s [1] 0 197s 197s 197s $checkRanef 197s [1] "warn" 197s 197s > ordinal:::getCtrlArgs(list(maxIter=2), list()) 197s $method 197s [1] "nlminb" 197s 197s $useMatrix 197s [1] FALSE 197s 197s $ctrl 197s $ctrl$trace 197s [1] 0 197s 197s $ctrl$maxIter 197s [1] 2 197s 197s $ctrl$gradTol 197s [1] 1e-04 197s 197s $ctrl$maxLineIter 197s [1] 50 197s 197s $ctrl$innerCtrl 197s [1] "warnOnly" 197s 197s 197s $optCtrl 197s $optCtrl$trace 197s [1] 0 197s 197s 197s $checkRanef 197s [1] "warn" 197s 197s > 197s > ordinal:::getCtrlArgs(clmm.control(), list()) 197s $method 197s [1] "nlminb" 197s 197s $useMatrix 197s [1] FALSE 197s 197s $ctrl 197s $ctrl$trace 197s [1] 0 197s 197s $ctrl$maxIter 197s [1] 50 197s 197s $ctrl$gradTol 197s [1] 1e-04 197s 197s $ctrl$maxLineIter 197s [1] 50 197s 197s $ctrl$innerCtrl 197s [1] "warnOnly" 197s 197s 197s $optCtrl 197s $optCtrl$trace 197s [1] 0 197s 197s 197s $checkRanef 197s [1] "warn" 197s 197s > ordinal:::getCtrlArgs(clmm.control(maxIter=100), list(maxIter=200)) 197s $method 197s [1] "nlminb" 197s 197s $useMatrix 197s [1] FALSE 197s 197s $ctrl 197s $ctrl$trace 197s [1] 0 197s 197s $ctrl$maxIter 197s [1] 200 197s 197s $ctrl$gradTol 197s [1] 1e-04 197s 197s $ctrl$maxLineIter 197s [1] 50 197s 197s $ctrl$innerCtrl 197s [1] "warnOnly" 197s 197s 197s $optCtrl 197s $optCtrl$trace 197s [1] 0 197s 197s 197s $checkRanef 197s [1] "warn" 197s 197s > ordinal:::getCtrlArgs(clmm.control(maxIter=100), list(maxIter=200)) 197s $method 197s [1] "nlminb" 197s 197s $useMatrix 197s [1] FALSE 197s 197s $ctrl 197s $ctrl$trace 197s [1] 0 197s 197s $ctrl$maxIter 197s [1] 200 197s 197s $ctrl$gradTol 197s [1] 1e-04 197s 197s $ctrl$maxLineIter 197s [1] 50 197s 197s $ctrl$innerCtrl 197s [1] "warnOnly" 197s 197s 197s $optCtrl 197s $optCtrl$trace 197s [1] 0 197s 197s 197s $checkRanef 197s [1] "warn" 197s 197s > ordinal:::getCtrlArgs(clmm.control(), list(trace=1)) 197s $method 197s [1] "nlminb" 197s 197s $useMatrix 197s [1] FALSE 197s 197s $ctrl 197s $ctrl$trace 197s [1] 0 197s 197s $ctrl$maxIter 197s [1] 50 197s 197s $ctrl$gradTol 197s [1] 1e-04 197s 197s $ctrl$maxLineIter 197s [1] 50 197s 197s $ctrl$innerCtrl 197s [1] "warnOnly" 197s 197s 197s $optCtrl 197s $optCtrl$trace 197s [1] 1 197s 197s 197s $checkRanef 197s [1] "warn" 197s 197s > ordinal:::getCtrlArgs(clmm.control(), list(trace=-1)) 197s $method 197s [1] "nlminb" 197s 197s $useMatrix 197s [1] FALSE 197s 197s $ctrl 197s $ctrl$trace 197s [1] 1 197s 197s $ctrl$maxIter 197s [1] 50 197s 197s $ctrl$gradTol 197s [1] 1e-04 197s 197s $ctrl$maxLineIter 197s [1] 50 197s 197s $ctrl$innerCtrl 197s [1] "warnOnly" 197s 197s 197s $optCtrl 197s $optCtrl$trace 197s [1] 1 197s 197s 197s $checkRanef 197s [1] "warn" 197s 197s > ordinal:::getCtrlArgs(clmm.control(trace=1), list()) 197s $method 197s [1] "nlminb" 197s 197s $useMatrix 197s [1] FALSE 197s 197s $ctrl 197s $ctrl$trace 197s [1] 0 197s 197s $ctrl$maxIter 197s [1] 50 197s 197s $ctrl$gradTol 197s [1] 1e-04 197s 197s $ctrl$maxLineIter 197s [1] 50 197s 197s $ctrl$innerCtrl 197s [1] "warnOnly" 197s 197s 197s $optCtrl 197s $optCtrl$trace 197s [1] 1 197s 197s 197s $checkRanef 197s [1] "warn" 197s 197s > ordinal:::getCtrlArgs(clmm.control(trace=-1), list()) 197s $method 197s [1] "nlminb" 197s 197s $useMatrix 197s [1] FALSE 197s 197s $ctrl 197s $ctrl$trace 197s [1] 1 197s 197s $ctrl$maxIter 197s [1] 50 197s 197s $ctrl$gradTol 197s [1] 1e-04 197s 197s $ctrl$maxLineIter 197s [1] 50 197s 197s $ctrl$innerCtrl 197s [1] "warnOnly" 197s 197s 197s $optCtrl 197s $optCtrl$trace 197s [1] 1 197s 197s 197s $checkRanef 197s [1] "warn" 197s 197s > ordinal:::getCtrlArgs(clmm.control(trace=0), list()) 197s $method 197s [1] "nlminb" 197s 197s $useMatrix 197s [1] FALSE 197s 197s $ctrl 197s $ctrl$trace 197s [1] 0 197s 197s $ctrl$maxIter 197s [1] 50 197s 197s $ctrl$gradTol 197s [1] 1e-04 197s 197s $ctrl$maxLineIter 197s [1] 50 197s 197s $ctrl$innerCtrl 197s [1] "warnOnly" 197s 197s 197s $optCtrl 197s $optCtrl$trace 197s [1] 0 197s 197s 197s $checkRanef 197s [1] "warn" 197s 197s > ## Don't specify trace twice - surprising behavior might occur: 197s > ordinal:::getCtrlArgs(clmm.control(trace=1), list(trace=-1)) 197s $method 197s [1] "nlminb" 197s 197s $useMatrix 197s [1] FALSE 197s 197s $ctrl 197s $ctrl$trace 197s [1] 1 197s 197s $ctrl$maxIter 197s [1] 50 197s 197s $ctrl$gradTol 197s [1] 1e-04 197s 197s $ctrl$maxLineIter 197s [1] 50 197s 197s $ctrl$innerCtrl 197s [1] "warnOnly" 197s 197s 197s $optCtrl 197s $optCtrl$trace 197s [1] 1 197s 197s 197s $checkRanef 197s [1] "warn" 197s 197s > ordinal:::getCtrlArgs(clmm.control(trace=-1), list(trace=1)) 197s $method 197s [1] "nlminb" 197s 197s $useMatrix 197s [1] FALSE 197s 197s $ctrl 197s $ctrl$trace 197s [1] 1 197s 197s $ctrl$maxIter 197s [1] 50 197s 197s $ctrl$gradTol 197s [1] 1e-04 197s 197s $ctrl$maxLineIter 197s [1] 50 197s 197s $ctrl$innerCtrl 197s [1] "warnOnly" 197s 197s 197s $optCtrl 197s $optCtrl$trace 197s [1] 1 197s 197s 197s $checkRanef 197s [1] "warn" 197s 197s > 197s BEGIN TEST clmm.formula.R 197s 197s R version 4.4.3 (2025-02-28) -- "Trophy Case" 197s Copyright (C) 2025 The R Foundation for Statistical Computing 197s Platform: aarch64-unknown-linux-gnu 197s 197s R is free software and comes with ABSOLUTELY NO WARRANTY. 197s You are welcome to redistribute it under certain conditions. 197s Type 'license()' or 'licence()' for distribution details. 197s 197s R is a collaborative project with many contributors. 197s Type 'contributors()' for more information and 197s 'citation()' on how to cite R or R packages in publications. 197s 197s Type 'demo()' for some demos, 'help()' for on-line help, or 197s 'help.start()' for an HTML browser interface to help. 197s Type 'q()' to quit R. 197s 198s > library(ordinal) 199s > data(wine) 199s > 199s > ################################# 199s > ## Appropriate evaluation of formulas: 199s > 199s > ## These all work as intended with no warnings or errors: 199s > fm1 <- clmm(rating ~ contact + (1|judge), data=wine) 199s > fm1 199s Cumulative Link Mixed Model fitted with the Laplace approximation 199s 199s formula: rating ~ contact + (1 | judge) 199s data: wine 199s 199s link threshold nobs logLik AIC niter max.grad 199s logit flexible 72 -98.80 209.59 228(686) 3.67e-06 199s 199s Random effects: 199s Groups Name Variance Std.Dev. 199s judge (Intercept) 0.4428 0.6654 199s Number of groups: judge 9 199s 199s Coefficients: 199s contactyes 199s 1.3 199s 199s Thresholds: 199s 1|2 2|3 3|4 4|5 199s -2.28331 0.04325 1.86062 3.20298 199s > fm1 <- clmm("rating ~ contact + (1|judge)", data=wine) 199s > fm1 199s Cumulative Link Mixed Model fitted with the Laplace approximation 199s 199s formula: rating ~ contact + (1 | judge) 199s data: wine 199s 199s link threshold nobs logLik AIC niter max.grad 199s logit flexible 72 -98.80 209.59 228(686) 3.67e-06 199s 199s Random effects: 199s Groups Name Variance Std.Dev. 199s judge (Intercept) 0.4428 0.6654 199s Number of groups: judge 9 199s 199s Coefficients: 199s contactyes 199s 1.3 199s 199s Thresholds: 199s 1|2 2|3 3|4 4|5 199s -2.28331 0.04325 1.86062 3.20298 199s > fm1 <- clmm(as.formula("rating ~ contact + (1|judge)"), data=wine) 199s > fm1 199s Cumulative Link Mixed Model fitted with the Laplace approximation 199s 199s formula: rating ~ contact + (1 | judge) 199s data: wine 199s 199s link threshold nobs logLik AIC niter max.grad 199s logit flexible 72 -98.80 209.59 228(686) 3.67e-06 199s 199s Random effects: 199s Groups Name Variance Std.Dev. 199s judge (Intercept) 0.4428 0.6654 199s Number of groups: judge 9 199s 199s Coefficients: 199s contactyes 199s 1.3 199s 199s Thresholds: 199s 1|2 2|3 3|4 4|5 199s -2.28331 0.04325 1.86062 3.20298 199s > fm1 <- clmm(as.formula(rating ~ contact + (1|judge)), data=wine) 199s > fm1 199s Cumulative Link Mixed Model fitted with the Laplace approximation 199s 199s formula: rating ~ contact + (1 | judge) 199s data: wine 199s 199s link threshold nobs logLik AIC niter max.grad 199s logit flexible 72 -98.80 209.59 228(686) 3.67e-06 199s 199s Random effects: 199s Groups Name Variance Std.Dev. 199s judge (Intercept) 0.4428 0.6654 199s Number of groups: judge 9 199s 199s Coefficients: 199s contactyes 199s 1.3 199s 199s Thresholds: 199s 1|2 2|3 3|4 4|5 199s -2.28331 0.04325 1.86062 3.20298 199s > 199s > ################################# 199s > 199s > ### finding variables in the environment of the formula: 199s > makeform <- function() { 199s + f1 <- as.formula(rating ~ temp + contact + (1|judge)) 199s + rating <- wine$rating 199s + temp <- wine$temp 199s + contact <- wine$contact 199s + judge <- wine$judge 199s + f1 199s + } 199s > ## 'makeform' makes are formula object in the environment of the 199s > ## function makeform: 199s > f1 <- makeform() 199s > f1 # print 199s rating ~ temp + contact + (1 | judge) 199s 199s > class(f1) 199s [1] "formula" 199s > ## If we give the data, we can evaluate the model: 199s > fm1 <- clmm(f1, data=wine) 199s > ## We can also evaluate the model because the data are available in 199s > ## the environment associated with the formula: 199s > fm1 <- clmm(f1) 199s > ## For instance, the 'rating' variable is not found in the Global 199s > ## environment; we have to evaluate the 'name' of 'rating' in the 199s > ## appropriate environment: 199s > (try(rating, silent=TRUE)) 199s [1] "Error : object 'rating' not found\n" 199s attr(,"class") 199s [1] "try-error" 199s attr(,"condition") 199s 199s > eval(as.name("rating"), envir=environment(f1)) 199s [1] 2 3 3 4 4 4 5 5 1 2 1 3 2 3 5 4 2 3 3 2 5 5 4 4 3 2 3 2 3 2 5 3 2 3 4 3 3 3 199s [39] 3 3 3 2 3 2 2 4 5 4 1 1 2 2 2 3 2 3 2 2 2 3 3 3 3 4 1 2 3 2 3 2 4 4 199s Levels: 1 < 2 < 3 < 4 < 5 199s > ## If instead we generate the formula in the Global environment where 199s > ## the variables are not found, we cannot evaluate the model: 199s > f2 <- as.formula(rating ~ temp + contact + (1|judge)) 199s > (try(fm2 <- clmm(f2), silent=TRUE)) 199s [1] "Error in eval(predvars, data, env) : object 'rating' not found\n" 199s attr(,"class") 199s [1] "try-error" 199s attr(,"condition") 199s 199s > environment(f2) <- environment(f1) 199s > fm2 <- clmm(f2) 199s > 199s > ################################# 199s > ## Use of formula-objects 199s > f <- formula(rating ~ temp + contact + (1|judge)) 199s > m2 <- clmm(f, data = wine) 199s > summary(m2) 199s Cumulative Link Mixed Model fitted with the Laplace approximation 199s 199s formula: rating ~ temp + contact + (1 | judge) 199s data: wine 199s 199s link threshold nobs logLik AIC niter max.grad cond.H 199s logit flexible 72 -81.57 177.13 332(999) 1.05e-05 2.8e+01 199s 199s Random effects: 199s Groups Name Variance Std.Dev. 199s judge (Intercept) 1.279 1.131 199s Number of groups: judge 9 199s 199s Coefficients: 199s Estimate Std. Error z value Pr(>|z|) 199s tempwarm 3.0630 0.5954 5.145 2.68e-07 *** 199s contactyes 1.8349 0.5125 3.580 0.000344 *** 199s --- 199s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 199s 199s Threshold coefficients: 199s Estimate Std. Error z value 199s 1|2 -1.6237 0.6824 -2.379 199s 2|3 1.5134 0.6038 2.507 199s 3|4 4.2285 0.8090 5.227 199s 4|5 6.0888 0.9725 6.261 199s > 199s > ################################# 199s > ## Other ways to construct formulas: 199s > set.seed(12345) 199s > y <- factor(sample(1:4,20,replace=TRUE)) 199s > x <- rnorm(20) 199s > b <- gl(5, 4, labels=letters[1:5]) 199s > data <- data.frame(y=y, x=x, b=b) 199s > rm(x, y, b) 199s > clmm(y ~ x + (1|b), data=data) 199s Cumulative Link Mixed Model fitted with the Laplace approximation 199s 199s formula: y ~ x + (1 | b) 199s data: data 199s 199s link threshold nobs logLik AIC niter max.grad 199s logit flexible 20 -25.37 60.74 334(288) 1.25e-07 199s 199s Random effects: 199s Groups Name Variance Std.Dev. 199s b (Intercept) 2.676e-09 5.173e-05 199s Number of groups: b 5 199s 199s Coefficients: 199s x 199s 0.2527 199s 199s Thresholds: 199s 1|2 2|3 3|4 199s -2.18234 0.06059 0.92746 199s > fit <- clmm(data$y ~ data$x + (1|data$b)) 199s > fit 199s Cumulative Link Mixed Model fitted with the Laplace approximation 199s 199s formula: data$y ~ data$x + (1 | data$b) 199s 199s link threshold nobs logLik AIC niter max.grad 199s logit flexible 20 -25.37 60.74 334(288) 1.25e-07 199s 199s Random effects: 199s Groups Name Variance Std.Dev. 199s data$b (Intercept) 2.676e-09 5.173e-05 199s Number of groups: data$b 5 199s 199s Coefficients: 199s data$x 199s 0.2527 199s 199s Thresholds: 199s 1|2 2|3 3|4 199s -2.18234 0.06059 0.92746 199s > fit <- clmm(data[, 1] ~ data[, 2] + (1|data[, 3])) 199s > fit 199s Cumulative Link Mixed Model fitted with the Laplace approximation 199s 199s formula: data[, 1] ~ data[, 2] + (1 | data[, 3]) 199s 199s link threshold nobs logLik AIC niter max.grad 199s logit flexible 20 -25.37 60.74 334(288) 1.25e-07 199s 199s Random effects: 199s Groups Name Variance Std.Dev. 199s data[, 3] (Intercept) 2.676e-09 5.173e-05 199s Number of groups: data[, 3] 5 199s 199s Coefficients: 199s data[, 2] 199s 0.2527 199s 199s Thresholds: 199s 1|2 2|3 3|4 199s -2.18234 0.06059 0.92746 199s > 199s > ################################# 199s > ## Evaluation within other functions: 199s > ## date: January 18th 2012. 199s > ## 199s > ## The problem was raised by Stefan Herzog (stefan.herzog@unibas.ch) 199s > ## January 12th 2012 in trying to make clmm work with glmulti. 199s > 199s > fun.clmm <- function(formula, data) 199s + ### This only works because clmm via eclmm.model.frame is careful to 199s + ### evaluate the 'formula' in the parent environment such it is not the 199s + ### character "formula" that is attempted evaluated. 199s + clmm(formula, data = data) 199s > 199s > fun2.clmm <- function(formula, data, weights, subset) { 199s + ### This should be the safe way to ensure evaluation of clmm in the 199s + ### right environment. 199s + mc <- match.call() 199s + mc[[1]] <- as.name("clmm") 199s + eval.parent(mc) 199s + } 199s > 199s > fun.clmm(rating ~ temp + contact + (1|judge), data=wine) ## works 199s Cumulative Link Mixed Model fitted with the Laplace approximation 199s 199s formula: rating ~ temp + contact + (1 | judge) 199s data: data 199s 199s link threshold nobs logLik AIC niter max.grad 199s logit flexible 72 -81.57 177.13 332(999) 1.05e-05 199s 199s Random effects: 199s Groups Name Variance Std.Dev. 199s judge (Intercept) 1.279 1.131 199s Number of groups: judge 9 199s 199s Coefficients: 199s tempwarm contactyes 199s 3.063 1.835 199s 199s Thresholds: 199s 1|2 2|3 3|4 4|5 199s -1.624 1.513 4.229 6.089 199s > fun2.clmm(rating ~ temp + contact + (1|judge), data=wine) ## works 199s Cumulative Link Mixed Model fitted with the Laplace approximation 199s 199s formula: rating ~ temp + contact + (1 | judge) 199s data: wine 199s 199s link threshold nobs logLik AIC niter max.grad 199s logit flexible 72 -81.57 177.13 332(999) 1.05e-05 199s 199s Random effects: 199s Groups Name Variance Std.Dev. 199s judge (Intercept) 1.279 1.131 199s Number of groups: judge 9 199s 199s Coefficients: 199s tempwarm contactyes 199s 3.063 1.835 199s 199s Thresholds: 199s 1|2 2|3 3|4 4|5 199s -1.624 1.513 4.229 6.089 199s > 199s > form1 <- "rating ~ temp + contact + (1|judge)" 199s > fun.clmm(form1, data=wine) ## works 199s Cumulative Link Mixed Model fitted with the Laplace approximation 199s 199s formula: rating ~ temp + contact + (1 | judge) 199s data: data 199s 199s link threshold nobs logLik AIC niter max.grad 199s logit flexible 72 -81.57 177.13 332(999) 1.05e-05 199s 199s Random effects: 199s Groups Name Variance Std.Dev. 199s judge (Intercept) 1.279 1.131 199s Number of groups: judge 9 199s 199s Coefficients: 199s tempwarm contactyes 199s 3.063 1.835 199s 199s Thresholds: 199s 1|2 2|3 3|4 4|5 199s -1.624 1.513 4.229 6.089 199s > fun2.clmm(form1, data=wine) ## works 199s Cumulative Link Mixed Model fitted with the Laplace approximation 199s 199s formula: rating ~ temp + contact + (1 | judge) 199s data: wine 199s 199s link threshold nobs logLik AIC niter max.grad 199s logit flexible 72 -81.57 177.13 332(999) 1.05e-05 199s 199s Random effects: 199s Groups Name Variance Std.Dev. 199s judge (Intercept) 1.279 1.131 199s Number of groups: judge 9 199s 199s Coefficients: 199s tempwarm contactyes 199s 3.063 1.835 199s 199s Thresholds: 199s 1|2 2|3 3|4 4|5 199s -1.624 1.513 4.229 6.089 199s > 199s > form2 <- formula(rating ~ temp + contact + (1|judge)) 199s > fun.clmm(form2, data=wine) ## works 199s Cumulative Link Mixed Model fitted with the Laplace approximation 199s 199s formula: rating ~ temp + contact + (1 | judge) 199s data: data 199s 199s link threshold nobs logLik AIC niter max.grad 199s logit flexible 72 -81.57 177.13 332(999) 1.05e-05 199s 199s Random effects: 199s Groups Name Variance Std.Dev. 199s judge (Intercept) 1.279 1.131 199s Number of groups: judge 9 199s 199s Coefficients: 199s tempwarm contactyes 199s 3.063 1.835 199s 199s Thresholds: 199s 1|2 2|3 3|4 4|5 199s -1.624 1.513 4.229 6.089 199s > fun2.clmm(form2, data=wine) ## works 199s Cumulative Link Mixed Model fitted with the Laplace approximation 199s 199s formula: rating ~ temp + contact + (1 | judge) 199s data: wine 199s 199s link threshold nobs logLik AIC niter max.grad 199s logit flexible 72 -81.57 177.13 332(999) 1.05e-05 199s 199s Random effects: 199s Groups Name Variance Std.Dev. 199s judge (Intercept) 1.279 1.131 199s Number of groups: judge 9 199s 199s Coefficients: 199s tempwarm contactyes 199s 3.063 1.835 199s 199s Thresholds: 199s 1|2 2|3 3|4 4|5 199s -1.624 1.513 4.229 6.089 199s > ## Notice that clmm is not able to get the name of the data (wine) 199s > ## correct when using fun.clmm. 199s > 199s > ################################# 199s > 199s > ## ## Example 2: using clmm function 199s > ## # 199s > ## ## Now I want to consider judge as a random effect to account for 199s > ## ## grouping structure of data 199s > ## mod2 <- clmm(rating ~ temp + contact + (1|judge), data=wine) 199s > ## 199s > ## ##Again, I started by using my own code to run all potential models: 199s > ## ## put names of all your variables in this vector: 199s > ## vl2 <- c("temp", "contact") 199s > ## ## generate list of possible combinations of variables: 199s > ## combos2 <- NULL 199s > ## for(i in 1:length(vl2)) { 199s > ## combos2 <- c(combos2, combn(vl2, i, simplify = F)) 199s > ## } 199s > ## ## create formulae and run models one by one, saving them as model1, 199s > ## ## model2 etc... 199s > ## for (i in 1:length(combos2)) { 199s > ## vs2 <- paste(combos2[[i]], collapse=" + ") 199s > ## f2 <- formula(paste("rating ~ ", vs2, "+(1|judge)", sep="")) 199s > ## print(f2) 199s > ## assign(paste("model", i, sep=""), clmm(f2, data=wine)) 199s > ## } 199s > ## summary(model1) # etc 199s > ## summary(model2) # etc 199s > ## summary(model3) # etc 199s > ## 199s > ## models <- vector("list", length(combos2)) 199s > ## for(i in 1:length(combos2)) { 199s > ## vs2 <- paste(combos2[[i]], collapse=" + ") 199s > ## f2 <- formula(paste("rating ~ ", vs2, "+(1|judge)", sep="")) 199s > ## print(f2) 199s > ## models[[i]] <- clmm(f2, data=wine) 199s > ## ## assign(paste("model", i, sep=""), clmm(f2, data=wine)) 199s > ## } 199s > ## 199s > ## ## Coefficients, AIC and BIC: 199s > ## lapply(models, function(m) coef(summary(m))) 199s > ## lapply(models, AIC) 199s > ## lapply(models, BIC) 199s > ## 199s > ## ## library(MuMIn) 199s > ## ## dd2 <- dredge(mod2) ## does not work 199s > ## ## ?dredge 199s > ## ## traceback() 199s > ## ## mod2$formula 199s > ## ## terms(as.formula(formula(mod2))) 199s > ## ## 199s > ## ## library(lme4) 199s > ## ## fmm1 <- lmer(response ~ temp + contact + (1|judge), data=wine) 199s > ## ## fmm1 199s > ## ## terms(as.formula(lme4:::formula(fmm1))) 199s > ## ## terms(as.formula(formula(fmm1))) 199s > 199s BEGIN TEST clmm.methods.R 200s 200s R version 4.4.3 (2025-02-28) -- "Trophy Case" 200s Copyright (C) 2025 The R Foundation for Statistical Computing 200s Platform: aarch64-unknown-linux-gnu 200s 200s R is free software and comes with ABSOLUTELY NO WARRANTY. 200s You are welcome to redistribute it under certain conditions. 200s Type 'license()' or 'licence()' for distribution details. 200s 200s R is a collaborative project with many contributors. 200s Type 'contributors()' for more information and 200s 'citation()' on how to cite R or R packages in publications. 200s 200s Type 'demo()' for some demos, 'help()' for on-line help, or 200s 'help.start()' for an HTML browser interface to help. 200s Type 'q()' to quit R. 200s 200s > library(ordinal) 201s > data(wine) 201s > 201s > ################################# 201s > ## model.matrix method for clmm-objects: 201s > fmm1 <- clmm(rating ~ contact + temp + (1|judge), data=wine) 201s > mm <- model.matrix(fmm1) 201s > stopifnot(inherits(mm, "matrix"), 201s + dim(mm) == c(72, 3)) 201s > 201s > ################################# 201s > ## anova.clmm works even if formula does not have an environment: 201s > fmm1 <- clmm(rating ~ temp * contact + (1|judge), data = wine) 201s > fmm2 <- clmm(rating ~ temp + contact + (1|judge), data = wine) 201s > environment(fmm1$formula) <- NULL 201s > environment(fmm2$formula) <- NULL 201s > anova(fmm1, fmm2) 201s Likelihood ratio tests of cumulative link models: 201s 201s formula: link: threshold: 201s fmm2 rating ~ temp + contact + (1 | judge) logit flexible 201s fmm1 rating ~ temp * contact + (1 | judge) logit flexible 201s 201s no.par AIC logLik LR.stat df Pr(>Chisq) 201s fmm2 7 177.13 -81.565 201s fmm1 8 179.07 -81.536 0.0589 1 0.8082 201s > 201s > 201s > ################################# 201s > ## Test that ranef, condVar and VarCorr work as they are supposed to whether or 201s > ## not nlme and lme4 are loaded: 201s > 201s > fm <- clmm(rating ~ temp + contact + (1|judge), data = wine) 201s > fm 201s Cumulative Link Mixed Model fitted with the Laplace approximation 201s 201s formula: rating ~ temp + contact + (1 | judge) 201s data: wine 201s 201s link threshold nobs logLik AIC niter max.grad 201s logit flexible 72 -81.57 177.13 332(999) 1.05e-05 201s 201s Random effects: 201s Groups Name Variance Std.Dev. 201s judge (Intercept) 1.279 1.131 201s Number of groups: judge 9 201s 201s Coefficients: 201s tempwarm contactyes 201s 3.063 1.835 201s 201s Thresholds: 201s 1|2 2|3 3|4 4|5 201s -1.624 1.513 4.229 6.089 201s > ranef(fm) 201s $judge 201s (Intercept) 201s 1 1.6961783 201s 2 -0.5657831 201s 3 0.9688083 201s 4 -0.0595499 201s 5 0.2305101 201s 6 0.4770387 201s 7 -1.9109736 201s 8 -0.2729439 201s 9 -0.5546758 201s 201s > VarCorr(fm) 201s $judge 201s (Intercept) 201s (Intercept) 1.279461 201s attr(,"stddev") 201s (Intercept) 201s 1.131133 201s 201s > condVar(fm) 201s $judge 201s (Intercept) 201s 1 0.3067453 201s 2 0.3779358 201s 3 0.3545529 201s 4 0.3651870 201s 5 0.3566067 201s 6 0.3485475 201s 7 0.3435693 201s 8 0.3050453 201s 9 0.3183194 201s 201s > summary(fm) 201s Cumulative Link Mixed Model fitted with the Laplace approximation 201s 201s formula: rating ~ temp + contact + (1 | judge) 201s data: wine 201s 201s link threshold nobs logLik AIC niter max.grad cond.H 201s logit flexible 72 -81.57 177.13 332(999) 1.05e-05 2.8e+01 201s 201s Random effects: 201s Groups Name Variance Std.Dev. 201s judge (Intercept) 1.279 1.131 201s Number of groups: judge 9 201s 201s Coefficients: 201s Estimate Std. Error z value Pr(>|z|) 201s tempwarm 3.0630 0.5954 5.145 2.68e-07 *** 201s contactyes 1.8349 0.5125 3.580 0.000344 *** 201s --- 201s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 201s 201s Threshold coefficients: 201s Estimate Std. Error z value 201s 1|2 -1.6237 0.6824 -2.379 201s 2|3 1.5134 0.6038 2.507 201s 3|4 4.2285 0.8090 5.227 201s 4|5 6.0888 0.9725 6.261 201s > 201s > library(nlme) 201s > ranef(fm) 201s $judge 201s (Intercept) 201s 1 1.6961783 201s 2 -0.5657831 201s 3 0.9688083 201s 4 -0.0595499 201s 5 0.2305101 201s 6 0.4770387 201s 7 -1.9109736 201s 8 -0.2729439 201s 9 -0.5546758 201s 201s > VarCorr(fm) 201s $judge 201s (Intercept) 201s (Intercept) 1.279461 201s attr(,"stddev") 201s (Intercept) 201s 1.131133 201s 201s > condVar(fm) 201s $judge 201s (Intercept) 201s 1 0.3067453 201s 2 0.3779358 201s 3 0.3545529 201s 4 0.3651870 201s 5 0.3566067 201s 6 0.3485475 201s 7 0.3435693 201s 8 0.3050453 201s 9 0.3183194 201s 201s > library(lme4) 201s Loading required package: Matrix 201s > ranef(fm) 201s $judge 201s (Intercept) 201s 1 1.6961783 201s 2 -0.5657831 201s 3 0.9688083 201s 4 -0.0595499 201s 5 0.2305101 201s 6 0.4770387 201s 7 -1.9109736 201s 8 -0.2729439 201s 9 -0.5546758 201s 201s > VarCorr(fm) 201s $judge 201s (Intercept) 201s (Intercept) 1.279461 201s attr(,"stddev") 201s (Intercept) 201s 1.131133 201s 201s > condVar(fm) 201s $judge 201s (Intercept) 201s 1 0.3067453 201s 2 0.3779358 201s 3 0.3545529 201s 4 0.3651870 201s 5 0.3566067 201s 6 0.3485475 201s 7 0.3435693 201s 8 0.3050453 201s 9 0.3183194 201s 201s > fm1 <- lmer(Reaction ~ Days + (Days | Subject), data=sleepstudy) 201s 201s Attaching package: ‘lme4’ 201s 201s The following object is masked from ‘package:nlme’: 201s 201s lmList 201s 201s > ranef(fm1) 201s $Subject 201s (Intercept) Days 201s 308 2.2585510 9.1989758 201s 309 -40.3987381 -8.6196806 201s 310 -38.9604090 -5.4488565 201s 330 23.6906196 -4.8143503 201s 331 22.2603126 -3.0699116 201s 332 9.0395679 -0.2721770 201s 333 16.8405086 -0.2236361 201s 334 -7.2326151 1.0745816 201s 335 -0.3336684 -10.7521652 201s 337 34.8904868 8.6282652 201s 349 -25.2102286 1.1734322 201s 350 -13.0700342 6.6142178 201s 351 4.5778642 -3.0152621 201s 352 20.8636782 3.5360011 201s 369 3.2754656 0.8722149 201s 370 -25.6129993 4.8224850 201s 371 0.8070461 -0.9881562 201s 372 12.3145921 1.2840221 201s 201s with conditional variances for “Subject” 201s > VarCorr(fm1) 201s Groups Name Std.Dev. Corr 201s Subject (Intercept) 24.7407 201s Days 5.9221 0.066 201s Residual 25.5918 201s > 201s > ranef(fm) 201s $judge 201s (Intercept) 201s 1 1.6961783 201s 2 -0.5657831 201s 3 0.9688083 201s 4 -0.0595499 201s 5 0.2305101 201s 6 0.4770387 201s 7 -1.9109736 201s 8 -0.2729439 201s 9 -0.5546758 201s 201s > VarCorr(fm) 201s $judge 201s (Intercept) 201s (Intercept) 1.279461 201s attr(,"stddev") 201s (Intercept) 201s 1.131133 201s 201s > condVar(fm) 201s $judge 201s (Intercept) 201s 1 0.3067453 201s 2 0.3779358 201s 3 0.3545529 201s 4 0.3651870 201s 5 0.3566067 201s 6 0.3485475 201s 7 0.3435693 201s 8 0.3050453 201s 9 0.3183194 201s 201s > summary(fm) 201s Cumulative Link Mixed Model fitted with the Laplace approximation 201s 201s formula: rating ~ temp + contact + (1 | judge) 201s data: wine 201s 201s link threshold nobs logLik AIC niter max.grad cond.H 201s logit flexible 72 -81.57 177.13 332(999) 1.05e-05 2.8e+01 201s 201s Random effects: 201s Groups Name Variance Std.Dev. 201s judge (Intercept) 1.279 1.131 201s Number of groups: judge 9 201s 201s Coefficients: 201s Estimate Std. Error z value Pr(>|z|) 201s tempwarm 3.0630 0.5954 5.145 2.68e-07 *** 201s contactyes 1.8349 0.5125 3.580 0.000344 *** 201s --- 201s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 201s 201s Threshold coefficients: 201s Estimate Std. Error z value 201s 1|2 -1.6237 0.6824 -2.379 201s 2|3 1.5134 0.6038 2.507 201s 3|4 4.2285 0.8090 5.227 201s 4|5 6.0888 0.9725 6.261 201s > 201s BEGIN TEST confint.R 201s 201s R version 4.4.3 (2025-02-28) -- "Trophy Case" 201s Copyright (C) 2025 The R Foundation for Statistical Computing 201s Platform: aarch64-unknown-linux-gnu 201s 201s R is free software and comes with ABSOLUTELY NO WARRANTY. 201s You are welcome to redistribute it under certain conditions. 201s Type 'license()' or 'licence()' for distribution details. 201s 201s R is a collaborative project with many contributors. 201s Type 'contributors()' for more information and 201s 'citation()' on how to cite R or R packages in publications. 201s 201s Type 'demo()' for some demos, 'help()' for on-line help, or 201s 'help.start()' for an HTML browser interface to help. 201s Type 'q()' to quit R. 201s 202s > ################################# 202s > ## test profile and confint methods: 202s > library(ordinal) 203s > data(wine) 203s > fm1 <- clm(rating ~ contact + temp, data = wine) 203s > summary(fm1) 203s formula: rating ~ contact + temp 203s data: wine 203s 203s link threshold nobs logLik AIC niter max.grad cond.H 203s logit flexible 72 -86.49 184.98 6(0) 4.01e-12 2.7e+01 203s 203s Coefficients: 203s Estimate Std. Error z value Pr(>|z|) 203s contactyes 1.5278 0.4766 3.205 0.00135 ** 203s tempwarm 2.5031 0.5287 4.735 2.19e-06 *** 203s --- 203s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 203s 203s Threshold coefficients: 203s Estimate Std. Error z value 203s 1|2 -1.3444 0.5171 -2.600 203s 2|3 1.2508 0.4379 2.857 203s 3|4 3.4669 0.5978 5.800 203s 4|5 5.0064 0.7309 6.850 203s > 203s > ## profile.clm and confint.clm: 203s > pr1 <- profile(fm1) 203s > confint(pr1) 203s 2.5 % 97.5 % 203s contactyes 0.6158045 2.492424 203s tempwarm 1.5097839 3.595251 203s > pr1 <- profile(fm1, which.beta = 1:2) 203s > confint(pr1) 203s 2.5 % 97.5 % 203s contactyes 0.6158045 2.492424 203s tempwarm 1.5097839 3.595251 203s > pr1 <- profile(fm1, which.beta = 2:1) 203s > confint(pr1) 203s 2.5 % 97.5 % 203s tempwarm 1.5097839 3.595251 203s contactyes 0.6158045 2.492424 203s > pr1 <- profile(fm1, which.beta = 1) 203s > confint(pr1) 203s 2.5 % 97.5 % 203s contactyes 0.6158045 2.492424 203s > pr1 <- profile(fm1, which.beta = 2) 203s > confint(pr1) 203s 2.5 % 97.5 % 203s tempwarm 1.509784 3.595251 203s > pr1 <- try(profile(fm1, which.beta = 0), silent = TRUE) ## error 203s > pr1 <- try(profile(fm1, which.beta = "no.par"), silent = TRUE) ## error 203s > pr1 <- try(profile(fm1, which.beta = -1), silent = TRUE) ## error 203s > pr1 <- profile(fm1, which.beta = "tempwarm") 203s > confint(pr1) 203s 2.5 % 97.5 % 203s tempwarm 1.509784 3.595251 203s > pr1 <- profile(fm1, alpha = 0.1) 203s > confint(pr1) ## should give NA in this case? 203s 2.5 % 97.5 % 203s contactyes NA NA 203s tempwarm NA NA 203s > pr1 <- profile(fm1, max.steps = 9) 203s > pr1 <- profile(fm1, step.warn = 7) 203s > pr1 <- profile(fm1, nsteps = 6) 203s > pr1 <- profile(fm1, trace = 1) 203s 203s Parameter: contactyes down 203s 203s Parameter: contactyes up 203s 203s Parameter: tempwarm down 203s 203s Parameter: tempwarm up 203s > pr1 <- profile(fm1, control = list(gradTol = .1)) 203s > confint(pr1) ## not at all unreliable... 203s 2.5 % 97.5 % 203s contactyes 0.6158045 2.492424 203s tempwarm 1.5097839 3.595251 203s > 203s > ## single regression coef setting: 203s > fm2 <- clm(rating ~ contact, data = wine) 203s > summary(fm2) 203s formula: rating ~ contact 203s data: wine 203s 203s link threshold nobs logLik AIC niter max.grad cond.H 203s logit flexible 72 -99.96 209.91 5(0) 1.67e-07 1.7e+01 203s 203s Coefficients: 203s Estimate Std. Error z value Pr(>|z|) 203s contactyes 1.2070 0.4499 2.683 0.0073 ** 203s --- 203s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 203s 203s Threshold coefficients: 203s Estimate Std. Error z value 203s 1|2 -2.13933 0.48981 -4.368 203s 2|3 0.04257 0.32063 0.133 203s 3|4 1.71449 0.38637 4.437 203s 4|5 2.97875 0.50207 5.933 203s > pr2 <- profile(fm2) 203s > confint(pr2) 203s 2.5 % 97.5 % 203s contactyes 0.3403978 2.110952 203s > 203s > ## confint.clm: 203s > confint(fm1) 203s 2.5 % 97.5 % 203s contactyes 0.6157925 2.492404 203s tempwarm 1.5097627 3.595225 203s > confint(fm1, 2) 203s argument 'parm' ignored 203s 2.5 % 97.5 % 203s contactyes 0.6157925 2.492404 203s tempwarm 1.5097627 3.595225 203s > confint(fm1, 1) 203s argument 'parm' ignored 203s 2.5 % 97.5 % 203s contactyes 0.6157925 2.492404 203s tempwarm 1.5097627 3.595225 203s > confint(fm1, "tempwarm") 203s argument 'parm' ignored 203s 2.5 % 97.5 % 203s contactyes 0.6157925 2.492404 203s tempwarm 1.5097627 3.595225 203s > confint(fm1, type = "profile") 203s 2.5 % 97.5 % 203s contactyes 0.6157925 2.492404 203s tempwarm 1.5097627 3.595225 203s > confint(fm1, type = "Wald") 203s 2.5 % 97.5 % 203s 1|2 -2.3578848 -0.330882 203s 2|3 0.3925794 2.109038 203s 3|4 2.2952980 4.638476 203s 4|5 3.5738541 6.438954 203s contactyes 0.5936345 2.461961 203s tempwarm 1.4669081 3.539296 203s > confint(fm1, 2, type = "Wald") 203s 2.5 % 97.5 % 203s 1|2 -2.3578848 -0.330882 203s 2|3 0.3925794 2.109038 203s 3|4 2.2952980 4.638476 203s 4|5 3.5738541 6.438954 203s contactyes 0.5936345 2.461961 203s tempwarm 1.4669081 3.539296 203s > confint(fm1, level = 0.5) 203s argument 'parm' ignored 203s 25 % 75 % 203s contactyes 1.209254 1.852544 203s tempwarm 2.152051 2.865757 203s > confint(fm1, level = 1 - 1e-6) 203s 0 % 100 % 203s contactyes -0.7003630 4.091731 203s tempwarm 0.1351282 5.520007 203s > confint(fm1, level = 1 - 1e-10) ## extreme, but it works 203s 0 % 100 % 203s contactyes -1.4045009 5.059182 203s tempwarm -0.5753928 6.774556 203s > confint(fm1, trace = 1) 203s Wait for profiling to be done... 203s 203s Parameter: contactyes down 203s 203s Parameter: contactyes up 203s 203s Parameter: tempwarm down 203s 203s Parameter: tempwarm up 203s 2.5 % 97.5 % 203s contactyes 0.6157925 2.492404 203s tempwarm 1.5097627 3.595225 203s > 203s > ## plot.profile: 203s > pr1 <- profile(fm1, which.beta=1:2, alpha = 1e-3) 203s > par(mfrow = c(1,2)) 204s > plot(pr1) 204s > plot(pr1, 1) 204s > plot(pr1, "contactyes") 204s > plot(pr1, level = .97) 204s > plot(pr1, Log = TRUE) 204s > plot(pr1, relative = FALSE) 204s > plot(pr1, root = TRUE) 204s > plot(pr1, approx = TRUE) 204s > plot(pr1, n=10) 204s > plot(pr1, ylim = c(0,2)) 204s > plot(pr1, las = 1) 204s > plot(pr2) 204s > 204s > 204s BEGIN TEST nominal.test.R 204s 204s R version 4.4.3 (2025-02-28) -- "Trophy Case" 204s Copyright (C) 2025 The R Foundation for Statistical Computing 204s Platform: aarch64-unknown-linux-gnu 204s 204s R is free software and comes with ABSOLUTELY NO WARRANTY. 204s You are welcome to redistribute it under certain conditions. 204s Type 'license()' or 'licence()' for distribution details. 204s 204s R is a collaborative project with many contributors. 204s Type 'contributors()' for more information and 204s 'citation()' on how to cite R or R packages in publications. 204s 204s Type 'demo()' for some demos, 'help()' for on-line help, or 204s 'help.start()' for an HTML browser interface to help. 204s Type 'q()' to quit R. 204s 204s > library(ordinal) 205s > 205s > if(require(MASS)) { 205s + fm1 <- clm(Sat ~ Infl + Type + Cont, data=housing, weights=Freq) 205s + scale_test(fm1) 205s + nominal_test(fm1) 205s + 205s + fm2 <- update(fm1, scale=~Cont) 205s + scale_test(fm2) 205s + nominal_test(fm2) 205s + fm3 <- update(fm1, nominal=~ Cont) 205s + fm3$Theta 205s + anova(fm2, fm3) 205s + fm3$alpha.mat 205s + summary(fm3) 205s + } 205s Loading required package: MASS 205s formula: Sat ~ Infl + Type + Cont 205s nominal: ~Cont 205s data: housing 205s 205s link threshold nobs logLik AIC niter max.grad cond.H 205s logit flexible 1681 -1738.35 3494.70 4(0) 1.31e-07 6.3e+01 205s 205s Coefficients: (1 not defined because of singularities) 205s Estimate Std. Error z value Pr(>|z|) 205s InflMedium 0.5695 0.1048 5.436 5.45e-08 *** 205s InflHigh 1.2884 0.1271 10.137 < 2e-16 *** 205s TypeApartment -0.5706 0.1192 -4.788 1.68e-06 *** 205s TypeAtrium -0.3643 0.1552 -2.348 0.0189 * 205s TypeTerrace -1.0980 0.1516 -7.242 4.43e-13 *** 205s ContHigh NA NA NA NA 205s --- 205s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 205s 205s Threshold coefficients: 205s Estimate Std. Error z value 205s Low|Medium.(Intercept) -0.4494 0.1279 -3.515 205s Medium|High.(Intercept) 0.6480 0.1279 5.066 205s Low|Medium.ContHigh -0.4440 0.1095 -4.056 205s Medium|High.ContHigh -0.2861 0.1063 -2.691 205s > 205s > ################################# 205s > ### Testing nominal_test and scale_test: 205s > fm1 <- clm(rating ~ temp * contact, data=wine) 205s > ## names(fm1) 205s > fm2 <- clm(rating ~ temp * contact, data=wine, nominal=~contact) 205s > (an <- anova(fm1, fm2)) 205s Likelihood ratio tests of cumulative link models: 205s 205s formula: nominal: link: threshold: 205s fm1 rating ~ temp * contact ~1 logit flexible 205s fm2 rating ~ temp * contact ~contact logit flexible 205s 205s no.par AIC logLik LR.stat df Pr(>Chisq) 205s fm1 7 186.83 -86.416 205s fm2 10 192.17 -86.083 0.6669 3 0.881 205s > (nm <- nominal_test(fm1)) 205s Tests of nominal effects 205s 205s formula: rating ~ temp * contact 205s Df logLik AIC LRT Pr(>Chi) 205s -86.416 186.83 205s temp 3 -84.874 189.75 3.08352 0.3789 205s contact 3 -86.083 192.16 0.66691 0.8810 205s temp:contact 205s > stopifnot(isTRUE(all.equal(an[2, 6], nm["contact", 5]))) 205s > 205s > fm2 <- clm(rating ~ temp * contact, data=wine, scale=~contact) 205s > (an <- anova(fm1, fm2)) 205s Likelihood ratio tests of cumulative link models: 205s 205s formula: scale: link: threshold: 205s fm1 rating ~ temp * contact ~1 logit flexible 205s fm2 rating ~ temp * contact ~contact logit flexible 205s 205s no.par AIC logLik LR.stat df Pr(>Chisq) 205s fm1 7 186.83 -86.416 205s fm2 8 188.60 -86.300 0.2325 1 0.6297 205s > (sc <- scale_test(fm1)) 205s Tests of scale effects 205s 205s formula: rating ~ temp * contact 205s Df logLik AIC LRT Pr(>Chi) 205s -86.416 186.83 205s temp 1 -86.326 188.65 0.18061 0.6709 205s contact 1 -86.300 188.60 0.23252 0.6297 205s temp:contact 3 -86.259 192.52 0.31391 0.9574 205s > stopifnot(isTRUE(all.equal(an[2, 6], sc["contact", "Pr(>Chi)"]))) 205s > 205s > fm1 <- clm(rating ~ temp + contact, 205s + nominal=~temp + contact, data=wine) 205s > fm1 205s formula: rating ~ temp + contact 205s nominal: ~temp + contact 205s data: wine 205s 205s link threshold nobs logLik AIC niter max.grad cond.H 205s logit flexible 72 -84.61 193.22 20(0) 4.36e-09 5.0e+10 205s 205s Coefficients: (2 not defined because of singularities) 205s tempwarm contactyes 205s NA NA 205s 205s Threshold coefficients: 205s Warning message: 205s (1) Hessian is numerically singular: parameters are not uniquely determined 205s In addition: Absolute convergence criterion was met, but relative criterion was not met 205s 1|2 2|3 3|4 4|5 205s (Intercept) -1.226 205s no additional terms to add to nominal 205s 205s 1.033 3.946 24.553 205s tempwarm -21.118 -2.111 -2.940 -22.432 205s contactyes -1.659 -1.343 -1.693 -1.162 205s > try(nominal_test(fm1), silent=TRUE)[1] ## gives error OK 205s Df 205s 205s > scale_test(fm1) 205s Warning messages: 205s 1: (1) Hessian is numerically singular: parameters are not uniquely determined 205s In addition: Absolute convergence criterion was met, but relative criterion was not met 205s 2: (1) Hessian is numerically singular: parameters are not uniquely determined 205s In addition: Absolute convergence criterion was met, but relative criterion was not met 205s Tests of scale effects 205s 205s formula: rating ~ temp + contact 205s nominal: ~temp + contact 205s Df logLik AIC LRT Pr(>Chi) 205s -84.611 193.22 205s temp 1 -84.604 195.21 0.0129568 0.9094 205s contact 1 -84.610 195.22 0.0012219 0.9721 205s > fm1 <- clm(rating ~ temp + contact, 205s + scale=~temp + contact, data=wine) 205s > fm1 205s formula: rating ~ temp + contact 205s scale: ~temp + contact 205s data: wine 205s 205s link threshold nobs logLik AIC niter max.grad cond.H 205s logit flexible 72 -86.34 188.68 8(0) 7.40e-09 2.0e+02 205s 205s Coefficients: 205s tempwarm 205s no relevant terms to add to scale 205s 205s contactyes 205s 2.446 1.482 205s 205s log-scale coefficients: 205s tempwarm contactyes 205s 0.05008 -0.11418 205s 205s Threshold coefficients: 205s 1|2 2|3 3|4 4|5 205s -1.303 1.219 3.377 4.872 205s > try(scale_test(fm1), silent=TRUE)[1] ## gives error OK 205s Df 205s 205s > nominal_test(fm1) 205s Tests of nominal effects 205s 205s formula: rating ~ temp + contact 205s scale: ~temp + contact 205s Df logLik AIC LRT Pr(>Chi) 205s -86.342 188.69 205s temp 3 -84.851 191.70 2.98202 0.3944 205s contact 3 -86.008 194.02 0.66808 0.8807 205s > 205s > 205s > ## Using weights: 205s > set.seed(123454321) 205s > wt <- runif(nrow(wine)) 205s > fm1 <- clm(rating ~ temp * contact, data=wine, weigths=wt) 205s > nominal_test(fm1) 205s Tests of nominal effects 205s 205s formula: rating ~ temp * contact 205s Df logLik AIC LRT Pr(>Chi) 205s -86.416 186.83 205s temp 3 -84.874 189.75 3.08352 0.3789 205s contact 3 -86.083 192.16 0.66691 0.8810 205s temp:contact 205s > scale_test(fm1) 205s Tests of scale effects 205s 205s formula: rating ~ temp * contact 205s Df logLik AIC LRT Pr(>Chi) 205s -86.416 186.83 205s temp 1 -86.326 188.65 0.18061 0.6709 205s contact 1 -86.300 188.60 0.23252 0.6297 205s temp:contact 3 -86.259 192.52 0.31391 0.9574 205s > 205s > ## No nominal test for judge since that model is not identifiable: 205s > fm1 <- clm(rating ~ judge + temp + contact, data=wine) 205s > nominal_test(fm1) 205s Tests of nominal effects 205s 205s formula: rating ~ judge + temp + contact 205s Df logLik AIC LRT Pr(>Chi) 205s -70.921 169.84 205s judge 205s temp 3 -69.900 173.80 2.04253 0.5636 205s contact 3 -70.708 175.42 0.42612 0.9348 205s > scale_test(fm1) 205s Tests of scale effects 205s 205s formula: rating ~ judge + temp + contact 205s Df logLik AIC LRT Pr(>Chi) 205s -70.921 169.84 205s judge 8 -64.731 173.46 12.3790 0.1351 205s temp 1 -70.897 171.79 0.0474 0.8276 205s contact 1 -70.870 171.74 0.1018 0.7497 205s > fm1 <- clm(rating ~ judge + temp, nominal=~contact, data=wine) 205s > nominal_test(fm1) 205s Tests of nominal effects 205s 205s formula: rating ~ judge + temp 205s nominal: ~contact 205s Df logLik AIC LRT Pr(>Chi) 205s -70.708 175.42 205s judge 205s temp 3 -69.707 179.41 2.0015 0.5721 205s > summary(fm1) 205s formula: rating ~ judge + temp 205s nominal: ~contact 205s data: wine 205s 205s link threshold nobs logLik AIC niter max.grad cond.H 205s logit flexible 72 -70.71 175.42 6(0) 8.07e-08 9.9e+01 205s 205s Coefficients: 205s Estimate Std. Error z value Pr(>|z|) 205s judge2 -3.2395 1.0683 -3.032 0.00243 ** 205s judge3 -0.9556 0.9699 -0.985 0.32452 205s judge4 -2.4613 1.0321 -2.385 0.01709 * 205s judge5 -2.0248 1.0093 -2.006 0.04484 * 205s judge6 -1.6379 0.9770 -1.677 0.09364 . 205s judge7 -5.2222 1.1381 -4.589 4.46e-06 *** 205s judge8 -2.7648 0.9776 -2.828 0.00468Warning message: 205s (1) Hessian is numerically singular: parameters are not uniquely determined 205s In addition: Absolute convergence criterion was met, but relative criterion was not met 205s ** 205s judge9 -3.1751 1.0028 -3.166 0.00154 ** 205s tempwarm 3.3309 0.6174 5.395 6.87e-08 *** 205s --- 205s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 205s 205s Threshold coefficients: 205s Estimate Std. Error z value 205s 1|2.(Intercept) -4.1549 0.9897 -4.198 205s 2|3.(Intercept) -0.7354 0.7920 -0.928 205s 3|4.(Intercept) 2.3388 0.8909 2.625 205s 4|5.(Intercept) 3.8873 1.0352 3.755 205s 1|2.contactyes -2.0216 1.3072 -1.547 205s 2|3.contactyes -1.9865 0.6904 -2.877 205s 3|4.contactyes -2.1825 0.7774 -2.807 205s 4|5.contactyes -1.5077 1.0044 -1.501 205s > 205s > ## A continuous variable: 205s > set.seed(123454321) 205s > x <- rnorm(nrow(wine), sd=1) 205s > fm <- clm(rating ~ temp, nominal=~contact * x, data=wine) 205s > nominal_test(fm) 205s Warning message: 205s (1) Hessian is numerically singular: parameters are not uniquely determined 205s In addition: Absolute convergence criterion was met, but relative criterion was not met 205s Tests of nominal effects 205s 205s formula: rating ~ temp 205s nominal: ~contact * x 205s Df logLik AIC LRT Pr(>Chi) 205s -77.858 189.72 205s temp 3 -76.738 193.48 2.24 0.5241 205s > scale_test(fm) 205s Tests of scale effects 205s 205s formula: rating ~ temp 205s nominal: ~contact * x 205s Df logLik AIC LRT Pr(>Chi) 205s -77.858 189.72 205s temp 1 -77.684 191.37 0.34804 0.5552 205s > fm <- clm(rating ~ temp + x, nominal=~contact, data=wine) 205s > nominal_test(fm) 206s Tests of nominal effects 206s 206s formula: rating ~ temp + x 206s nominal: ~contact 206s Df logLik AIC LRT Pr(>Chi) 206s -84.949 189.90 206s temp 3 -83.421 192.84 3.0560 0.3831 206s x 3 -84.333 194.67 1.2322 0.7453 206s > scale_test(fm) 206s Tests of scale effects 206s 206s formula: rating ~ temp + x 206s nominal: ~contact 206s Df logLik AIC LRT Pr(>Chi) 206s -84.949 189.90 206s temp 1 -84.737 191.47 0.42504 0.5144 206s x 1 -84.896 191.79 0.10781 0.7426 206s > ## poly: 206s > fm <- clm(rating ~ temp + poly(x, 2), nominal=~contact, data=wine) 206s > nominal_test(fm) 206s Tests of nominal effects 206s 206s formula: rating ~ temp + poly(x, 2) 206s nominal: ~contact 206s Df logLik AIC LRT Pr(>Chi) 206s -84.079 190.16 206s temp 3 -82.694 193.39 2.7693 0.4286 206s poly(x, 2) 6 -80.941 195.88 6.2762 0.3930 206s > scale_test(fm) 206s Tests of scale effects 206s 206s formula: rating ~ temp + poly(x, 2) 206s nominal: ~contact 206s Df logLik AIC LRT Pr(>Chi) 206s -84.079 190.16 206s temp 1 -84.020 192.04 0.11784 0.7314 206s poly(x, 2) 2 -83.314 192.63 1.53017 0.4653 206s > ## another combination: 206s > fm1 <- clm(SURENESS ~ PRODID + DAY + SOUPTYPE + SOUPFREQ, 206s + scale=~PROD, 206s + nominal=~ DAY*GENDER, data=soup) 206s > fm1 206s formula: SURENESS ~ PRODID + DAY + SOUPTYPE + SOUPFREQ 206s scale: ~PROD 206s nominal: ~DAY * GENDER 206s data: soup 206s 206s link threshold nobs logLik AIC niter max.grad cond.H 206s logit flexible 1847 -2657.84 5375.68 8(2) 3.50e-07 4.0e+03 206s 206s Coefficients: (1 not defined because of singularities) 206s PRODID2 PRODID3 PRODID4 PRODID5 206s 1.0780 1.5090 0.9482 1.4910 206s PRODID6 DAY2 SOUPTYPECanned SOUPTYPEDry-mix 206s 1.8174 NA -0.2337 0.1832 206s SOUPFREQ1-4/month SOUPFREQ<1/month 206s -0.0954 -0.1137 206s 206s log-scale coefficients: 206s PRODTest 206s 0.1427 206s 206s Threshold coefficients: 206s 1|2 2|3 3|4 4|5 5|6 206s (Intercept) -1.65979 -0.75912 -0.36903 0.02374 0.66929 206s DAY2 -0.22291 0.13711 0.16406 0.10279 0.23721 206s GENDERFemale 0.06531 0.06089 -0.01938 -0.13670 -0.01594 206s DAY2:GENDERFemale 0.36194 0.25429 0.25482 0.23375 0.05243 206s > nominal_test(fm1) 206s Tests of nominal effects 206s 206s formula: SURENESS ~ PRODID + DAY + SOUPTYPE + SOUPFREQ 206s scale: ~PROD 206s nominal: ~DAY * GENDER 206s Df logLik AIC LRT Pr(>Chi) 206s -2657.8 5375.7 206s PRODID 20 -2644.7 5389.4 26.2387 0.1580707 206s SOUPTYPE 8 -2654.0 5384.1 7.5969 0.4738067 206s SOUPFREQ 8 -2644.6 5365.1 26.5587 0.0008423 *** 206s PROD 4 -2654.7 5377.5 6.2011 0.1846258 206s --- 206s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 206s > scale_test(fm1) 207s Tests of scale effects 207s 207s formula: SURENESS ~ PRODID + DAY + SOUPTYPE + SOUPFREQ 207s scale: ~PROD 207s nominal: ~DAY * GENDER 207s Df logLik AIC LRT Pr(>Chi) 207s -2657.8 5375.7 207s PRODID 4 -2657.3 5382.5 1.1526 0.885842 207s DAY 1 -2655.9 5373.8 3.8544 0.049616 * 207s SOUPTYPE 2 -2657.6 5379.1 0.5416 0.762771 207s SOUPFREQ 2 -2652.7 5369.3 10.3447 0.005671 ** 207s --- 207s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 207s > 207s > ################################# 207s > 207s > 207s BEGIN TEST ranef.loading.R 207s 207s R version 4.4.3 (2025-02-28) -- "Trophy Case" 207s Copyright (C) 2025 The R Foundation for Statistical Computing 207s Platform: aarch64-unknown-linux-gnu 207s 207s R is free software and comes with ABSOLUTELY NO WARRANTY. 207s You are welcome to redistribute it under certain conditions. 207s Type 'license()' or 'licence()' for distribution details. 207s 207s R is a collaborative project with many contributors. 207s Type 'contributors()' for more information and 207s 'citation()' on how to cite R or R packages in publications. 207s 207s Type 'demo()' for some demos, 'help()' for on-line help, or 207s 'help.start()' for an HTML browser interface to help. 207s Type 'q()' to quit R. 207s 207s > # check that ranef and VarCorr work even after loading ordinal: 207s > library(lme4) 207s Loading required package: Matrix 208s > fm1 <- lmer(Reaction ~ Days + (Days | Subject), data=sleepstudy) 208s > ranef(fm1) 208s $Subject 208s (Intercept) Days 208s 308 2.2585510 9.1989758 208s 309 -40.3987381 -8.6196806 208s 310 -38.9604090 -5.4488565 208s 330 23.6906196 -4.8143503 208s 331 22.2603126 -3.0699116 208s 332 9.0395679 -0.2721770 208s 333 16.8405086 -0.2236361 208s 334 -7.2326151 1.0745816 208s 335 -0.3336684 -10.7521652 208s 337 34.8904868 8.6282652 208s 349 -25.2102286 1.1734322 208s 350 -13.0700342 6.6142178 208s 351 4.5778642 -3.0152621 208s 352 20.8636782 3.5360011 208s 369 3.2754656 0.8722149 208s 370 -25.6129993 4.8224850 208s 371 0.8070461 -0.9881562 208s 372 12.3145921 1.2840221 208s 208s with conditional variances for “Subject” 208s > VarCorr(fm1) 208s Groups Name Std.Dev. Corr 208s Subject (Intercept) 24.7407 208s Days 5.9221 0.066 208s Residual 25.5918 208s > library(ordinal) 208s > ranef(fm1) 208s $Subject 208s (Intercept) Days 208s 308 2.2585510 9.1989758 208s 309 -40.3987381 -8.6196806 208s 310 -38.9604090 -5.4488565 208s 330 23.6906196 -4.8143503 208s 331 22.2603126 -3.0699116 208s 332 9.0395679 -0.2721770 208s 333 16.8405086 -0.2236361 208s 334 -7.2326151 1.0745816 208s 335 -0.3336684 -10.7521652 208s 337 34.8904868 8.6282652 208s 349 -25.2102286 1.1734322 208s 350 -13.0700342 6.6142178 208s 351 4.5778642 -3.0152621 208s 352 20.8636782 3.5360011 208s 369 3.2754656 0.8722149 208s 370 -25.6129993 4.8224850 208s 371 0.8070461 -0.9881562 208s 372 12.3145921 1.2840221 208s 208s with conditional variances for “Subject” 208s > VarCorr(fm1) 208s Groups Name Std.Dev. Corr 208s Subject (Intercept) 24.7407 208s Days 5.9221 0.066 208s Residual 25.5918 208s > 208s BEGIN TEST test-all.R 208s 208s R version 4.4.3 (2025-02-28) -- "Trophy Case" 208s Copyright (C) 2025 The R Foundation for Statistical Computing 208s Platform: aarch64-unknown-linux-gnu 208s 208s R is free software and comes with ABSOLUTELY NO WARRANTY. 208s You are welcome to redistribute it under certain conditions. 208s Type 'license()' or 'licence()' for distribution details. 208s 208s R is a collaborative project with many contributors. 208s Type 'contributors()' for more information and 208s 'citation()' on how to cite R or R packages in publications. 208s 208s Type 'demo()' for some demos, 'help()' for on-line help, or 208s 'help.start()' for an HTML browser interface to help. 208s Type 'q()' to quit R. 208s 209s > 209s > if(require(testthat) && require(ordinal)) { 209s + test_check("ordinal") 209s + } 209s Loading required package: testthat 209s Loading required package: ordinal 216s [ FAIL 0 | WARN 0 | SKIP 0 | PASS 81 ] 216s > 216s BEGIN TEST test.clm.Theta.R 216s 216s R version 4.4.3 (2025-02-28) -- "Trophy Case" 216s Copyright (C) 2025 The R Foundation for Statistical Computing 216s Platform: aarch64-unknown-linux-gnu 216s 216s R is free software and comes with ABSOLUTELY NO WARRANTY. 216s You are welcome to redistribute it under certain conditions. 216s Type 'license()' or 'licence()' for distribution details. 216s 216s R is a collaborative project with many contributors. 216s Type 'contributors()' for more information and 216s 'citation()' on how to cite R or R packages in publications. 216s 216s Type 'demo()' for some demos, 'help()' for on-line help, or 216s 'help.start()' for an HTML browser interface to help. 216s Type 'q()' to quit R. 216s 216s > library(ordinal) 217s > 217s > ################################# 217s > ## 1 categorical variable in nominal: 217s > fm <- clm(rating ~ temp, nominal=~contact, data=wine) 217s > fm$Theta 217s contact 1|2 2|3 3|4 4|5 217s 1 no -1.323043 1.2464435 3.550044 4.660247 217s 2 yes -2.938103 -0.2651238 1.875288 3.609624 217s > fm$alpha.mat 217s 1|2 2|3 3|4 4|5 217s (Intercept) -1.323043 1.246444 3.550044 4.660247 217s contactyes -1.615059 -1.511567 -1.674756 -1.050623 217s > ## Threshold effects: 217s > fm <- clm(rating ~ temp, nominal=~contact, data=wine, 217s + threshold="symmetric") 217s > fm$Theta 217s contact 1|2 2|3 3|4 4|5 217s 1 no -1.054279 1.083892 3.383980 5.522152 217s 2 yes -2.360683 -0.356889 1.753317 3.757111 217s > fm$alpha.mat 217s central.1 central.2 spacing.1 217s (Intercept) 1.083892 3.383980 2.1381713 217s contactyes -1.440781 -1.630663 -0.1343777 217s > fm <- clm(rating ~ temp, nominal=~contact, data=wine, 217s + threshold="equidistant") 217s > fm$Theta 217s contact 1|2 2|3 3|4 4|5 217s 1 no -1.089140 1.1176064 3.324353 5.531099 217s 2 yes -2.386361 -0.3365063 1.713348 3.763202 217s > fm$alpha.mat 217s threshold.1 spacing 217s (Intercept) -1.08914 2.2067465 217s contactyes -1.29722 -0.1568922 217s > ## Singular fit is still ok (with a warning, though) 217s > fm <- clm(rating ~ contact, nominal=~temp, data=wine) 217s > fm$alpha.mat 217s 1|2 2|3 3|4 4|5 217s (Intercept) -1.265638 1.104045 3.765661 24.89643 217s tempwarm -21.095417 -2.153024 -2.873317 -22.55000 217s > fm$Theta 217s temp 1|2 2|3 3|4 4|5 217s 1 cold -1.265638 1.104045 3.7656606 24.896432 217s 2 warm -22.361055 -1.048979 0.8923431 2.346436 217s > 217s > ################################# 217s > ## 1 continuous variable: 217s > set.seed(123) 217s > x <- rnorm(nrow(wine), sd=1) 217s > fm <- clm(rating ~ temp, nominal=~ x, data=wine) 217s > fm$alpha.mat 217s 1|2 2|3 3|4 4|5 217s (Intercept) -1.93392115 0.4251062 2.4798775 3.9190335 217s x 0.09463825 0.3805713 0.4261607 0.3809099 217s > fm$Theta 217s 1|2 2|3 3|4 4|5 217s 1 -1.933921 0.4251062 2.479878 3.919034 217s > fm <- clm(rating ~ temp, nominal=~ poly(x, 2), data=wine) 217s Warning message: 217s (1) Hessian is numerically singular: parameters are not uniquely determined 217s In addition: Absolute convergence criterion was met, but relative criterion was not met 217s > fm$alpha.mat 217s 1|2 2|3 3|4 4|5 217s (Intercept) -1.9310988 0.4469436 2.517523 4.094448 217s poly(x, 2)1 0.8763914 3.2908002 3.471603 4.422045 217s poly(x, 2)2 -0.3826811 0.2518184 -2.064209 5.810095 217s > fm$Theta 217s 1|2 2|3 3|4 4|5 217s 1 -1.931099 0.4469436 2.517523 4.094448 217s > 217s > ################################# 217s > ## 1 categorical + 1 continuous variable: 217s > set.seed(123) 217s > x <- rnorm(nrow(wine), sd=1) 217s > fm <- clm(rating ~ temp, nominal=~contact + x, data=wine) 217s > fm$alpha.mat 217s 1|2 2|3 3|4 4|5 217s (Intercept) -1.279484 1.2782515 3.612766 4.7496630 217s contactyes -1.770377 -1.6715296 -1.647335 -0.9575417 217s x 0.300792 0.5330593 0.351517 0.3320371 217s > fm$Theta 217s contact 1|2 2|3 3|4 4|5 217s 1 no -1.279484 1.2782515 3.612766 4.749663 217s 2 yes -3.049860 -0.3932781 1.965431 3.792121 217s > fm <- clm(rating ~ temp, nominal=~contact + x, data=wine, 217s + threshold="symmetric") 217s > fm$alpha.mat 217s central.1 central.2 spacing.1 217s (Intercept) 1.1195535 3.4384752 2.134429723 217s contactyes -1.5864032 -1.5904314 -0.007568099 217s x 0.5069573 0.3485632 0.137951085 217s > fm$Theta 217s contact 1|2 2|3 3|4 4|5 217s 1 no -1.014876 1.1195535 3.438475 5.572905 217s 2 yes -2.593711 -0.4668497 1.848044 3.974905 217s > ################################# 217s > ### NOTE: To get the by-threshold nominal effects of continuous terms 217s > ## use: 217s > with(fm, t(apply(alpha.mat, 1, function(th) tJac %*% th))) 217s [,1] [,2] [,3] [,4] 217s (Intercept) -1.0148763 1.1195535 3.4384752 5.5729049 217s contactyes -1.5788351 -1.5864032 -1.5904314 -1.5979995 217s x 0.3690062 0.5069573 0.3485632 0.4865143 217s > ################################# 217s > ## Interactions: 217s > fm <- clm(rating ~ temp, nominal=~contact:x, data=wine) 217s > fm$alpha.mat 217s 1|2 2|3 3|4 4|5 217s (Intercept) -1.9577944 0.5997213 2.6863244 4.1510613 217s contactno:x 0.1127629 0.7818026 0.4423216 0.9364319 217s contactyes:x 0.2129232 -0.2720801 0.3848893 0.1730418 217s > fm$Theta 217s 1|2 2|3 3|4 4|5 217s 1 -1.957794 0.5997213 2.686324 4.151061 217s > fm <- clm(rating ~ temp, nominal=~contact+x+contact:x, data=wine) 217s > fm$alpha.mat 217s 1|2 2|3 3|4 4|5 217s (Intercept) -1.3000385 1.4056290 3.8340494 5.195521 217s contactyes -2.2801110 -1.5685386 -1.7308097 -1.318630 217s x 0.1790630 0.8754972 0.5140440 1.061857 217s contactyes:x 0.7541913 -0.8829449 -0.2203363 -1.055090 217s > fm$Theta 217s contact 1|2 2|3 3|4 4|5 217s 1 no -1.300039 1.4056290 3.834049 5.195521 217s 2 yes -3.580150 -0.1629096 2.103240 3.876891 217s > fm <- clm(rating ~ temp, nominal=~contact*x, data=wine) 217s > fm$alpha.mat 217s 1|2 2|3 3|4 4|5 217s (Intercept) -1.3000385 1.4056290 3.8340494 5.195521 217s contactyes -2.2801110 -1.5685386 -1.7308097 -1.318630 217s x 0.1790630 0.8754972 0.5140440 1.061857 217s contactyes:x 0.7541913 -0.8829449 -0.2203363 -1.055090 217s > fm$Theta 217s contact 1|2 2|3 3|4 4|5 217s 1 no -1.300039 1.4056290 3.834049 5.195521 217s 2 yes -3.580150 -0.1629096 2.103240 3.876891 217s > ## polynomial terms: 217s > fm <- clm(rating ~ temp, nominal=~contact + poly(x, 2), data=wine) 217s > fm$alpha.mat 217s 1|2 2|3 3|4 4|5 217s (Intercept) -1.2704762 1.3058436 3.635351 4.984803 217s contactyes -1.7725959 -1.6863567 -1.668402 -1.045016 217s poly(x, 2)1 2.4660191 4.4257770 3.395876 4.572499 217s poly(x, 2)2 -0.5079931 -0.4326472 -2.815490 5.853814 217s > fm$Theta 217s contact 1|2 2|3 3|4 4|5 217s 1 no -1.270476 1.3058436 3.635351 4.984803 217s 2 yes -3.043072 -0.3805131 1.966949 3.939787 217s > ## logical variables: (treated like numeric variables) 217s > wine$Con <- as.character(wine$contact) == "yes" 217s > fm <- clm(rating ~ temp, nominal=~Con, data=wine) 217s > fm$Theta 217s 1|2 2|3 3|4 4|5 217s 1 -1.323043 1.246444 3.550044 4.660247 217s > fm$alpha.mat 217s 1|2 2|3 3|4 4|5 217s (Intercept) -1.323043 1.246444 3.550044 4.660247 217s ConTRUE -1.615059 -1.511567 -1.674756 -1.050623 217s > wine$Con.num <- 1 * wine$Con 217s > fm <- clm(rating ~ temp, nominal=~Con.num, data=wine) 217s > fm$Theta 217s 1|2 2|3 3|4 4|5 217s 1 -1.323043 1.246444 3.550044 4.660247 217s > fm$alpha.mat 217s 1|2 2|3 3|4 4|5 217s (Intercept) -1.323043 1.246444 3.550044 4.660247 217s Con.num -1.615059 -1.511567 -1.674756 -1.050623 217s > ################################# 217s > ## Two continuous variables: 217s > set.seed(321) 217s > y <- rnorm(nrow(wine), sd=1) 217s > fm1 <- clm(rating ~ temp, nominal=~y + x, data=wine) 217s > fm1$alpha.mat 217s 1|2 2|3 3|4 4|5 217s (Intercept) -2.0361734 0.4221202 2.4970718 3.92796873 217s y 0.4687950 0.1396038 0.3125431 0.08012751 217s x 0.1283933 0.3903469 0.4322374 0.37584062 217s > fm1$Theta 217s 1|2 2|3 3|4 4|5 217s 1 -2.036173 0.4221202 2.497072 3.927969 217s > ## summary(fm1) 217s > 217s > ################################# 217s > ## 1 categorical + 2 continuous variables: 217s > fm1 <- clm(rating ~ temp, nominal=~y + contact + x, data=wine) 217s > fm1$alpha.mat 217s 1|2 2|3 3|4 4|5 217s (Intercept) -1.3789903 1.2645381 3.5778844 4.76356985 217s y 0.4385042 0.1049073 0.2439721 -0.01655843 217s contactyes -1.7688345 -1.6608152 -1.5801690 -0.98076349 217s x 0.3414184 0.5436276 0.3683201 0.33263316 217s > fm1$Theta 217s contact 1|2 2|3 3|4 4|5 217s 1 no -1.378990 1.2645381 3.577884 4.763570 217s 2 yes -3.147825 -0.3962771 1.997715 3.782806 217s > 217s > fm1 <- clm(rating ~ temp, nominal=~contact + x + contact:x + y, 217s + data=wine) 217s > summary(fm1) 217s formula: rating ~ temp 217s nominal: ~contact + x + contact:x + y 217s data: wine 217s 217s link threshold nobs logLik AIC niter max.grad cond.H 217s logit flexible 72 -81.86 205.72 7(0) 6.30e-12 9.3e+01 217s 217s Coefficients: 217s Estimate Std. Error z value Pr(>|z|) 217s tempwarm 2.8541 0.6159 4.634 3.58e-06 *** 217s --- 217s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 217s 217s Threshold coefficients: 217s Estimate Std. Error z value 217s 1|2.(Intercept) -1.40166 0.63306 -2.214 217s 2|3.(Intercept) 1.38723 0.49672 2.793 217s 3|4.(Intercept) 3.78725 0.71352 5.308 217s 4|5.(Intercept) 5.19478 1.07162 4.848 217s 1|2.contactyes -2.25974 1.68593 -1.340 217s 2|3.contactyes -1.54343 0.62658 -2.463 217s 3|4.contactyes -1.65472 0.68161 -2.428 217s 4|5.contactyes -1.34417 1.10192 -1.220 217s 1|2.x 0.21217 0.60781 0.349 217s 2|3.x 0.88433 0.41592 2.126 217s 3|4.x 0.47072 0.57857 0.814 217s 4|5.x 0.98582 0.94345 1.045 217s 1|2.y 0.41959 0.59889 0.701 217s 2|3.y 0.08377 0.27912 0.300 217s 3|4.y 0.27724 0.33118 0.837 217s 4|5.y -0.03370 0.59652 -0.056 217s 1|2.contactyes:x 0.71850 1.19479 0.601 217s 2|3.contactyes:x -0.89167 0.68974 -1.293 217s 3|4.contactyes:x -0.10843 0.74237 -0.146 217s 4|5.contactyes:x -0.98243 1.06343 -0.924 217s > fm1$Theta 217s contact 1|2 2|3 3|4 4|5 217s 1 no -1.401661 1.3872281 3.787248 5.194782 217s 2 yes -3.661402 -0.1562067 2.132530 3.850615 217s > fm1$alpha.mat 217s 1|2 2|3 3|4 4|5 217s (Intercept) -1.4016606 1.38722808 3.7872478 5.19478152 217s contactyes -2.2597419 -1.54343480 -1.6547177 -1.34416691 217s x 0.2121750 0.88432858 0.4707237 0.98581604 217s y 0.4195947 0.08377343 0.2772447 -0.03369796 217s contactyes:x 0.7184952 -0.89166532 -0.1084271 -0.98242663 217s > fm1 <- clm(rating ~ temp, nominal=~contact*x + y, data=wine) 217s > fm1$Theta 217s contact 1|2 2|3 3|4 4|5 217s 1 no -1.401661 1.3872281 3.787248 5.194782 217s 2 yes -3.661402 -0.1562067 2.132530 3.850615 217s > fm1$alpha.mat 217s 1|2 2|3 3|4 4|5 217s (Intercept) -1.4016606 1.38722808 3.7872478 5.19478152 217s contactyes -2.2597419 -1.54343480 -1.6547177 -1.34416691 217s x 0.2121750 0.88432858 0.4707237 0.98581604 217s y 0.4195947 0.08377343 0.2772447 -0.03369796 217s contactyes:x 0.7184952 -0.89166532 -0.1084271 -0.98242663 217s > t(fm1$alpha.mat) 217s (Intercept) contactyes x y contactyes:x 217s 1|2 -1.401661 -2.259742 0.2121750 0.41959467 0.7184952 217s 2|3 1.387228 -1.543435 0.8843286 0.08377343 -0.8916653 217s 3|4 3.787248 -1.654718 0.4707237 0.27724473 -0.1084271 217s 4|5 5.194782 -1.344167 0.9858160 -0.03369796 -0.9824266 217s > fm1 217s formula: rating ~ temp 217s nominal: ~contact * x + y 217s data: wine 217s 217s link threshold nobs logLik AIC niter max.grad cond.H 217s logit flexible 72 -81.86 205.72 7(0) 6.30e-12 9.3e+01 217s 217s Coefficients: 217s tempwarm 217s 2.854 217s 217s Threshold coefficients: 217s 1|2 2|3 3|4 4|5 217s (Intercept) -1.40166 1.38723 3.78725 5.19478 217s contactyes -2.25974 -1.54343 -1.65472 -1.34417 217s x 0.21217 0.88433 0.47072 0.98582 217s y 0.41959 0.08377 0.27724 -0.03370 217s contactyes:x 0.71850 -0.89167 -0.10843 -0.98243 217s > 217s > ################################# 217s > ## ordered factors (behaves like numerical variables): 217s > data(soup, package="ordinal") 218s > fm2 <- clm(SURENESS ~ 1, nominal=~PRODID + DAY, data=soup) 218s > fm2$Theta 218s PRODID DAY 1|2 2|3 3|4 4|5 5|6 218s 1 1 1 -1.541481 -0.5738506 -0.21399538 0.04222703 0.75684062 218s 2 2 1 -2.260759 -1.5442697 -1.21890789 -0.91689299 -0.24659733 218s 3 3 1 -2.662588 -1.8500284 -1.67612929 -1.15745279 -0.65265582 218s 4 4 1 -2.230317 -1.3875834 -1.10527201 -0.70760465 -0.16454916 218s 5 5 1 -2.291960 -1.8870049 -1.51852627 -1.32708454 -0.64222204 218s 6 6 1 -2.765844 -2.1222058 -1.93080891 -1.76177831 -0.87239437 218s 7 1 2 -1.497366 -0.2765643 0.08617449 0.27652240 0.97863135 218s 8 2 2 -2.216645 -1.2469835 -0.91873802 -0.68259762 -0.02480661 218s 9 3 2 -2.618473 -1.5527421 -1.37595942 -0.92315742 -0.43086509 218s 10 4 2 -2.186203 -1.0902972 -0.80510215 -0.47330927 0.05724157 218s 11 5 2 -2.247845 -1.5897187 -1.21835640 -1.09278917 -0.42043131 218s 12 6 2 -2.721729 -1.8249196 -1.63063905 -1.52748294 -0.65060365 218s > fm2$alpha.mat 218s 1|2 2|3 3|4 4|5 5|6 218s (Intercept) -1.54148084 -0.5738506 -0.2139954 0.04222703 0.7568406 218s PRODID2 -0.71927809 -0.9704192 -1.0049125 -0.95912001 -1.0034380 218s PRODID3 -1.12110698 -1.2761778 -1.4621339 -1.19967981 -1.4094964 218s PRODID4 -0.68883656 -0.8137329 -0.8912766 -0.74983167 -0.9213898 218s PRODID5 -0.75047874 -1.3131544 -1.3045309 -1.36931157 -1.3990627 218s PRODID6 -1.22436292 -1.5483553 -1.7168135 -1.80400534 -1.6292350 218s DAY2 0.04411439 0.2972862 0.3001699 0.23429537 0.2217907 218s > prodid <- factor(soup$PRODID, ordered=TRUE) 218s > fm2 <- clm(SURENESS ~ 1, nominal=~prodid + DAY, data=soup) 218s > fm2$alpha.mat 218s 1|2 2|3 3|4 4|5 5|6 218s (Intercept) -2.29215806 -1.5608238 -1.2772733 -0.9714310 -0.3035963 218s prodid.L -0.69121817 -0.9929406 -1.0651956 -1.1714141 -1.0571728 218s prodid.Q 0.28234300 0.3165731 0.3424949 0.1207237 0.3905959 218s prodid.C -0.56889235 -0.5360906 -0.6536897 -0.5924148 -0.5462885 218s prodid^4 -0.08220340 0.2121409 0.0953785 0.2423256 0.1732012 218s prodid^5 0.20500444 0.3017272 0.3458281 0.2989342 0.3294562 218s DAY2 0.04411439 0.2972862 0.3001699 0.2342954 0.2217907 218s > fm2$Theta 218s DAY 1|2 2|3 3|4 4|5 5|6 218s 1 1 -2.292158 -1.560824 -1.2772733 -0.9714310 -0.30359635 218s 2 2 -2.248044 -1.263538 -0.9771034 -0.7371357 -0.08180562 218s > fm2 <- clm(SURENESS ~ 1, nominal=~prodid, data=soup) 218s > fm2$alpha.mat 218s 1|2 2|3 3|4 4|5 5|6 218s (Intercept) -2.2615449 -1.4231189 -1.13844940 -0.8610163 -0.20025662 218s prodid.L -0.6802192 -1.0171675 -1.08713192 -1.1713363 -1.05578526 218s prodid.Q 0.2551357 0.3521163 0.37511177 0.1651463 0.43182970 218s prodid.C -0.6064464 -0.5635065 -0.68182671 -0.6050149 -0.55490977 218s prodid^4 -0.1115795 0.1036958 -0.01443457 0.1577696 0.09355651 218s prodid^5 0.2349647 0.4222560 0.46856405 0.3867234 0.41280490 218s > fm2$Theta 218s 1|2 2|3 3|4 4|5 5|6 218s 1 -2.261545 -1.423119 -1.138449 -0.8610163 -0.2002566 218s > ################################# 218s > ## Aliased Coefficients: 218s > ## 218s > ## Example where the interaction in the nominal effects is aliased (by 218s > ## design). Here the two Theta matrices coincide. The alpha.mat 218s > ## matrices are similar except one has an extra row with NAs: 218s > soup2 <- soup 218s > levels(soup2$DAY) 218s [1] "1" "2" 218s > levels(soup2$GENDER) 218s [1] "Male" "Female" 218s > xx <- with(soup2, DAY == "2" & GENDER == "Female") 218s > ## Model with additive nominal effects: 218s > fm8 <- clm(SURENESS ~ PRODID, nominal= ~ DAY + GENDER, data=soup2, subset=!xx) 218s > fm8$alpha.mat 218s 1|2 2|3 3|4 4|5 5|6 218s (Intercept) -1.5296912 -0.68765358 -0.3255117394 0.03773041 0.629325973 218s DAY2 -0.2553049 0.08584421 0.1101987830 0.05149732 0.168514829 218s GENDERFemale 0.0790841 0.07464904 -0.0001589362 -0.11045608 -0.005418789 218s > fm8$Theta 218s DAY GENDER 1|2 2|3 3|4 4|5 5|6 218s 1 1 Male -1.529691 -0.6876536 -0.3255117 0.03773041 0.6293260 218s 2 2 Male -1.784996 -0.6018094 -0.2153130 0.08922773 0.7978408 218s 3 1 Female -1.450607 -0.6130045 -0.3256707 -0.07272568 0.6239072 218s 4 2 Female -1.705912 -0.5271603 -0.2154719 -0.02122835 0.7924220 218s > ## Model with non-additive, but aliased nominal effects: 218s > fm9 <- clm(SURENESS ~ PRODID, nominal= ~ DAY * GENDER, data=soup2, subset=!xx) 218s > fm9$alpha.mat 218s 1|2 2|3 3|4 4|5 5|6 218s (Intercept) -1.5296912 -0.68765358 -0.3255117394 0.03773041 0.629325973 218s DAY2 -0.2553049 0.08584421 0.1101987830 0.05149732 0.168514829 218s GENDERFemale 0.0790841 0.07464904 -0.0001589362 -0.11045608 -0.005418789 218s DAY2:GENDERFemale NA NA NA NA NA 218s > fm9$Theta 218s DAY GENDER 1|2 2|3 3|4 4|5 5|6 218s 1 1 Male -1.529691 -0.6876536 -0.3255117 0.03773041 0.6293260 218s 2 2 Male -1.784996 -0.6018094 -0.2153130 0.08922773 0.7978408 218s 3 1 Female -1.450607 -0.6130045 -0.3256707 -0.07272568 0.6239072 218s 4 2 Female -1.705912 -0.5271603 -0.2154719 -0.02122835 0.7924220 218s > 218s > stopEqual <- function(x, y, ca=FALSE) 218s + stopifnot(isTRUE(all.equal(x, y, check.attributes=ca))) 218s > 218s > stopEqual(fm8$alpha.mat, fm9$alpha.mat[1:3, ]) 218s > stopEqual(fm8$Theta, fm9$Theta) 218s > stopEqual(logLik(fm8), logLik(fm9)) 218s > 218s > ################################# 218s > ## Weights: 218s > set.seed(12345) 218s > wts <- runif(nrow(soup)) 218s > fm2 <- clm(SURENESS ~ 1, nominal=~SOUPTYPE + DAY, data=soup, weights=wts) 218s > fm2$Theta 218s SOUPTYPE DAY 1|2 2|3 3|4 4|5 5|6 218s 1 Self-made 1 -1.957136 -1.2051740 -0.8829317 -0.6651699 -0.03270025 218s 2 Canned 1 -1.665918 -0.9408556 -0.6818962 -0.4277315 0.14356406 218s 3 Dry-mix 1 -2.180024 -1.2221288 -1.1502087 -0.8113657 -0.24840514 218s 4 Self-made 2 -1.988269 -0.9456030 -0.5614139 -0.3852570 0.23978932 218s 5 Canned 2 -1.697051 -0.6812846 -0.3603783 -0.1478186 0.41605363 218s 6 Dry-mix 2 -2.211157 -0.9625577 -0.8286909 -0.5314528 0.02408443 218s > 218s > ## Offset (correctly gives and error) 218s > fm2 <- try(clm(SURENESS ~ 1, nominal=~SOUPTYPE + DAY + offset(wts), 218s + data=soup), silent=TRUE) 218s > stopifnot(inherits(fm2, "try-error")) 218s > 218s > ################################# 218s > ### Other (misc) examples: 218s > fm2 <- clm(SURENESS ~ 1, nominal=~SOUPTYPE + DAY, data=soup) 218s > fm2$Theta 218s SOUPTYPE DAY 1|2 2|3 3|4 4|5 5|6 218s 1 Self-made 1 -2.040111 -1.2615146 -0.9302684 -0.6740629 -0.05003069 218s 2 Canned 1 -1.816274 -1.0347697 -0.7305192 -0.4563265 0.15972072 218s 3 Dry-mix 1 -2.313198 -1.3029029 -1.1328903 -0.8076982 -0.23529457 218s 4 Self-made 2 -1.956698 -0.9371883 -0.5968669 -0.4131354 0.21403949 218s 5 Canned 2 -1.732861 -0.7104435 -0.3971177 -0.1953990 0.42379090 218s 6 Dry-mix 2 -2.229785 -0.9785767 -0.7994888 -0.5467707 0.02877561 218s > fm2 218s formula: SURENESS ~ 1 218s nominal: ~SOUPTYPE + DAY 218s data: soup 218s 218s link threshold nobs logLik AIC niter max.grad cond.H 218s logit flexible 1847 -2758.02 5556.03 6(2) 1.74e-11 8.7e+02 218s 218s Threshold coefficients: 218s 1|2 2|3 3|4 4|5 5|6 218s (Intercept) -2.04011 -1.26151 -0.93027 -0.67406 -0.05003 218s SOUPTYPECanned 0.22384 0.22674 0.19975 0.21774 0.20975 218s SOUPTYPEDry-mix -0.27309 -0.04139 -0.20262 -0.13364 -0.18526 218s DAY2 0.08341 0.32433 0.33340 0.26093 0.26407 218s > fm2 <- clm(SURENESS ~ 1, nominal=~SOUPTYPE * DAY, data=soup) 218s > fm2$Theta 218s SOUPTYPE DAY 1|2 2|3 3|4 4|5 5|6 218s 1 Self-made 1 -2.062794 -1.3083328 -0.9935434 -0.7187896 -0.05107493 218s 2 Canned 1 -1.757074 -0.9398212 -0.6286087 -0.3721287 0.15415068 218s 3 Dry-mix 1 -2.369525 -1.3618033 -1.1700713 -0.8661663 -0.23795864 218s 4 Self-made 2 -1.945910 -0.9005649 -0.5459555 -0.3731219 0.21392690 218s 5 Canned 2 -1.775759 -0.7985077 -0.4924765 -0.2776317 0.43428555 218s 6 Dry-mix 2 -2.182299 -0.9257695 -0.7649729 -0.4964369 0.02702867 218s > fm2 218s formula: SURENESS ~ 1 218s nominal: ~SOUPTYPE * DAY 218s data: soup 218s 218s link threshold nobs logLik AIC niter max.grad cond.H 218s logit flexible 1847 -2755.60 5571.21 6(2) 1.75e-11 4.9e+03 218s 218s Threshold coefficients: 218s 1|2 2|3 3|4 4|5 5|6 218s (Intercept) -2.063e+00 -1.308e+00 -9.935e-01 -7.188e-01 -5.107e-02 218s SOUPTYPECanned 3.057e-01 3.685e-01 3.649e-01 3.467e-01 2.052e-01 218s SOUPTYPEDry-mix -3.067e-01 -5.347e-02 -1.765e-01 -1.474e-01 -1.869e-01 218s DAY2 1.169e-01 4.078e-01 4.476e-01 3.457e-01 2.650e-01 218s SOUPTYPECanned:DAY2 -1.356e-01 -2.665e-01 -3.115e-01 -2.512e-01 1.513e-02 218s SOUPTYPEDry-mix:DAY2 7.034e-02 2.827e-02 -4.249e-02 2.406e-02 -1.452e-05 218s > fm2$alpha.mat 218s 1|2 2|3 3|4 4|5 218s (Intercept) -2.06279431 -1.30833282 -0.99354336 -0.71878961 218s SOUPTYPECanned 0.30572040 0.36851159 0.36493470 0.34666092 218s SOUPTYPEDry-mix -0.30673027 -0.05347052 -0.17652789 -0.14737673 218s DAY2 0.11688416 0.40776793 0.44758789 0.34566775 218s SOUPTYPECanned:DAY2 -0.13556938 -0.26645440 -0.31145572 -0.25117080 218s SOUPTYPEDry-mix:DAY2 0.07034149 0.02826594 -0.04248955 0.02406171 218s 5|6 218s (Intercept) -5.107493e-02 218s SOUPTYPECanned 2.052256e-01 218s SOUPTYPEDry-mix -1.868837e-01 218s DAY2 2.650018e-01 218s SOUPTYPECanned:DAY2 1.513304e-02 218s SOUPTYPEDry-mix:DAY2 -1.451666e-05 218s > fm2 <- clm(SURENESS ~ 1, nominal=~SOUPTYPE * DAY, data=soup, 218s + threshold="symmetric") 218s > fm2$Theta 218s SOUPTYPE DAY 1|2 2|3 3|4 4|5 5|6 218s 1 Self-made 1 -2.023473 -1.3261580 -1.0328445 -0.7395310 -0.04221610 218s 2 Canned 1 -1.650803 -1.0121961 -0.7301243 -0.4480525 0.19055466 218s 3 Dry-mix 1 -2.214507 -1.4643357 -1.2132431 -0.9621504 -0.21197912 218s 4 Self-made 2 -1.757994 -1.0009894 -0.7422397 -0.4834900 0.27351461 218s 5 Canned 2 -1.673970 -0.8581393 -0.5997040 -0.3412687 0.47456211 218s 6 Dry-mix 2 -1.899340 -1.1167968 -0.9013722 -0.6859476 0.09659551 218s > fm2$alpha.mat 218s central spacing.1 spacing.2 218s (Intercept) -1.03284450 0.293313471 0.99062841 218s SOUPTYPECanned 0.30272022 -0.011241697 -0.06994946 218s SOUPTYPEDry-mix -0.18039855 -0.042220836 0.01063552 218s DAY2 0.29060480 -0.034563797 0.02512591 218s SOUPTYPECanned:DAY2 -0.16018453 0.010927306 0.12846128 218s SOUPTYPEDry-mix:DAY2 0.02126607 -0.001104241 -0.02842214 218s > 218s > ################################# 218s > ### Check correctness of Theta matrix when intercept is removed in 218s > ### nominal formula: 218s > ### December 25th 2014, RHBC 218s > fm1 <- clm(rating ~ temp, nominal=~contact-1, data=wine) 218s > fm2 <- clm(rating ~ temp, nominal=~contact, data=wine) 218s Warning message: 218s an intercept is needed and assumed in 'nominal' 218s > stopifnot(isTRUE(all.equal(fm1$Theta, fm2$Theta))) 218s > stopifnot(isTRUE(all.equal(fm1$logLik, fm2$logLik))) 218s > wine2 <- wine 218s > wine2$contact <- relevel(wine2$contact, "yes") 218s > fm3 <- clm(rating ~ temp, nominal=~contact, data=wine2) 218s > stopifnot(isTRUE(all.equal(coef(fm1, na.rm=TRUE), coef(fm3)))) 218s > ################################# 218s > 218s > 218s BEGIN TEST test.clm.convergence.R 218s 218s R version 4.4.3 (2025-02-28) -- "Trophy Case" 218s Copyright (C) 2025 The R Foundation for Statistical Computing 218s Platform: aarch64-unknown-linux-gnu 218s 218s R is free software and comes with ABSOLUTELY NO WARRANTY. 218s You are welcome to redistribute it under certain conditions. 218s Type 'license()' or 'licence()' for distribution details. 218s 218s R is a collaborative project with many contributors. 218s Type 'contributors()' for more information and 218s 'citation()' on how to cite R or R packages in publications. 218s 218s Type 'demo()' for some demos, 'help()' for on-line help, or 218s 'help.start()' for an HTML browser interface to help. 218s Type 'q()' to quit R. 218s 218s > library(ordinal) 219s > 219s > 219s > ## Testing that errors in chol() are caught soon enough: 219s > cy <- with(wine, which(temp == "cold" & contact == "yes")) 219s > wine2 <- subset(wine, subset=(!1:nrow(wine) %in% cy)) 219s > wine2[c(9, 15, 46), "rating"] <- NA 219s > fm1 <- clm(rating ~ temp, scale=~contact, nominal=~contact, 219s + data=wine2) 219s > fm1 <- try(clm(rating ~ temp, scale=~contact, nominal=~contact, 219s + data=wine2, control=list(gradTol=1e-12)), silent=TRUE) 219s Warning message: 219s (1) Hessian is numerically singular: parameters are not uniquely determined 219s In addition: Absolute convergence criterion was met, but relative criterion was not met 219s > fm2 <- try(clm(rating ~ temp, scale=~contact, nominal=~contact, 219s + data=wine2, control=list(gradTol=1e-15)), silent=TRUE) 219s Warning message: 219s (1) Hessian is numerically singular: parameters are not uniquely determined 219s In addition: Absolute convergence criterion was met, but relative criterion was not met 219s > ## These gave errors in version 2014.11-12. 219s > stopifnot(!inherits(fm1, "try-error")) 219s > stopifnot(!inherits(fm2, "try-error")) 219s > summary(fm1) 219s formula: rating ~ temp 219s scale: ~contact 219s nominal: ~contactWarning message: 219s (-1) Model failed to converge with max|grad| = 3.74003e-09 (tol = 1e-15) 219s In addition: step factor reduced below minimum 219s 219s data: wine2 219s 219s link threshold nobs logLik AIC niter max.grad cond.H 219s logit flexible 51 -60.44 140.87 62(38) 7.12e-14 1.5e+17 219s 219s Coefficients: 219s Estimate Std. Error z value Pr(>|z|) 219s tempwarm 2.306 NA NA NA 219s 219s log-scale coefficients: 219s Estimate Std. Error z value Pr(>|z|) 219s contactyes -0.07128 NA NA NA 219s 219s Threshold coefficients: 219s Estimate Std. Error z value 219s 1|2.(Intercept) -1.354 NA NA 219s 2|3.(Intercept) 1.092 NA NA 219s 3|4.(Intercept) 3.469 NA NA 219s 4|5.(Intercept) 5.066 NA NA 219s 1|2.contactyes -30.565 NA NA 219s 2|3.contactyes -1.425 NA NA 219s 3|4.contactyes -1.808 NA NA 219s 4|5.contactyes -1.870 NA NA 219s (3 observations deleted due to missingness) 219s > summary(fm2) 219s formula: rating ~ temp 219s scale: ~contact 219s nominal: ~contact 219s data: wine2 219s 219s link threshold nobs logLik AIC niter max.grad cond.H 219s logit flexible 51 -60.44 140.87 92(76) 3.74e-09 1.2e+16 219s 219s Coefficients: 219s Estimate Std. Error z value Pr(>|z|) 219s tempwarm 2.3060 0.7713 2.99 0.00279 ** 219s --- 219s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 219s 219s log-scale coefficients: 219s Estimate Std. Error z value Pr(>|z|) 219s contactyes -7.137e-02 1.635e+04 0 1 219s 219s Threshold coefficients: 219s Estimate Std. Error z value 219s 1|2.(Intercept) -1.354e+00 5.707e-01 -2.373 219s 2|3.(Intercept) 1.092e+00 5.251e-01 2.080 219s 3|4.(Intercept) 3.469e+00 7.982e-01 4.346 219s 4|5.(Intercept) 5.066e+00 1.193e+00 4.246 219s 1|2.contactyes -3.917e+01 2.138e+09 0.000 219s 2|3.contactyes -1.425e+00 4.314e+04 0.000 219s 3|4.contactyes -1.808e+00 1.055e+04 0.000 219s 4|5.contactyes -1.870e+00 1.455e+04 0.000 219s (3 observations deleted due to missingness) 219s > 219s > ## Error in convergence.clm() due to bad evaluation of model 219s > ## environment with update(object, doFit=FALSE): 219s > wine3 <- wine 219s > set.seed(1234) 219s > wts <- runif(nrow(wine3), 0, 2) 219s > fm3 <- clm(rating ~ temp + contact, data=wine3, 219s + weights=wts) 219s > c0 <- convergence(fm3) 219s > set.seed(1234) 219s > fm3 <- clm(rating ~ temp + contact, data=wine3, 219s + weights=runif(nrow(wine3), 0, 2)) 219s > c1 <- convergence(fm3) 219s > c0$info$logLik.Error 219s [1] "<1e-10" 219s > c1$info$logLik.Error 219s [1] "<1e-10" 219s > all.equal(c0$info$logLik.Error, c1$info$logLik.Error) 219s [1] TRUE 219s > ## In version 2014.11-14: 219s > ## > wine3 <- wine 219s > ## > set.seed(1234) 219s > ## > wts <- runif(nrow(wine3), 0, 2) 219s > ## > fm3 <- clm(rating ~ temp + contact, data=wine3, 219s > ## + weights=wts) 219s > ## > c0 <- convergence(fm3) 219s > ## > set.seed(1234) 219s > ## > fm3 <- clm(rating ~ temp + contact, data=wine3, 219s > ## + weights=runif(nrow(wine3), 0, 2)) 219s > ## > c1 <- convergence(fm3) 219s > ## > c0$info$logLik.Error 219s > ## [1] "<1e-10" 219s > ## > c1$info$logLik.Error 219s > ## [1] "4.80e+00" 219s > ## > all.equal(c0$info$logLik.Error, c1$info$logLik.Error) 219s > ## [1] "1 string mismatch" 219s > stopifnot(c0$info$logLik.Error == 219s + c1$info$logLik.Error) 219s > 219s BEGIN TEST test.clm.flex.link.R 219s 219s R version 4.4.3 (2025-02-28) -- "Trophy Case" 219s Copyright (C) 2025 The R Foundation for Statistical Computing 219s Platform: aarch64-unknown-linux-gnu 219s 219s R is free software and comes with ABSOLUTELY NO WARRANTY. 219s You are welcome to redistribute it under certain conditions. 219s Type 'license()' or 'licence()' for distribution details. 219s 219s R is a collaborative project with many contributors. 219s Type 'contributors()' for more information and 219s 'citation()' on how to cite R or R packages in publications. 219s 219s Type 'demo()' for some demos, 'help()' for on-line help, or 219s 'help.start()' for an HTML browser interface to help. 219s Type 'q()' to quit R. 219s 220s > # test.clm.flex.link.R 220s > 220s > library(ordinal) 221s > 221s > fm <- clm(rating ~ contact + temp, data=wine, link="log-gamma") 221s Changing to 'nlminb' optimizer for flexible link function 221s > fm 221s formula: rating ~ contact + temp 221s data: wine 221s 221s link threshold nobs logLik AIC niter max.grad cond.H 221s log-gamma flexible 72 -85.72 185.44 27(179) 9.91e-05 5.9e+01 221s 221s Coefficients: 221s contactyes tempwarm 221s 0.8614 1.5072 221s 221s Link coefficient: 221s lambda 221s 0.1615 221s 221s Threshold coefficients: 221s 1|2 2|3 3|4 4|5 221s -0.8798 0.6678 1.9807 2.8593 221s > summary(fm) 221s formula: rating ~ contact + temp 221s data: wine 221s 221s link threshold nobs logLik AIC niter max.grad cond.H 221s log-gamma flexible 72 -85.72 185.44 27(179) 9.91e-05 5.9e+01 221s 221s Coefficients: 221s Warning message: 221s (-1) Model failed to converge with max|grad| = 9.9099e-05 (tol = 1e-06) 221s Estimate Std. Error z value Pr(>|z|) 221s contactyes 0.8614 0.2675 3.220 0.00128 ** 221s tempwarm 1.5072 0.2947 5.114 3.16e-07 *** 221s --- 221s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 221s 221s Link coefficients: 221s Estimate Std. Error z value Pr(>|z|) 221s lambda 0.1615 0.5752 0.281 0.779 221s 221s Threshold coefficients: 221s Estimate Std. Error z value 221s 1|2 -0.8798 0.5003 -1.759 221s 2|3 0.6678 0.3450 1.936 221s 3|4 1.9807 0.3826 5.177 221s 4|5 2.8593 0.4656 6.141 221s > vcov(fm) 221s 1|2 2|3 3|4 4|5 contactyes 221s 1|2 0.25029667 0.12858124 0.11888120 0.14341730 0.03339111 221s 2|3 0.12858124 0.11899385 0.10688715 0.12363922 0.04117758 221s 3|4 0.11888120 0.10688715 0.14635447 0.15493865 0.05320442 221s 4|5 0.14341730 0.12363922 0.15493865 0.21676904 0.06051103 221s contactyes 0.03339111 0.04117758 0.05320442 0.06051103 0.07156735 221s tempwarm 0.00707258 0.03006561 0.05390802 0.06549176 0.01159715 221s lambda -0.23173315 -0.13979171 -0.12509774 -0.15581154 -0.01157951 221s tempwarm lambda 221s 1|2 0.00707258 -0.23173315 221s 2|3 0.03006561 -0.13979171 221s 3|4 0.05390802 -0.12509774 221s 4|5 0.06549176 -0.15581154 221s contactyes 0.01159715 -0.01157951 221s tempwarm 0.08687099 0.01970691 221s lambda 0.01970691 0.33082448 221s > logLik(fm) 221s 'log Lik.' -85.72141 (df=7) 221s > extractAIC(fm) 221s [1] 7.0000 185.4428 221s > fm2 <- update(fm, link="probit") 221s > anova(fm, fm2) 221s Likelihood ratio tests of cumulative link models: 221s 221s formula: link: threshold: 221s fm2 rating ~ contact + temp probit flexible 221s fm rating ~ contact + temp log-gamma flexible 221s 221s no.par AIC logLik LR.stat df Pr(>Chisq) 221s fm2 6 183.52 -85.761 221s fm 7 185.44 -85.721 0.0795 1 0.778 221s > head(model.matrix(fm)$X) 221s (Intercept) contactyes tempwarm 221s 1 1 0 0 221s 2 1 0 0 221s 3 1 1 0 221s 4 1 1 0 221s 5 1 0 1 221s 6 1 0 1 221s > head(model.frame(fm)) 221s rating contact temp 221s 1 2 no cold 221s 2 3 no cold 221s 3 3 yes cold 221s 4 4 yes cold 221s 5 4 no warm 221s 6 4 no warm 221s > coef(fm) 221s 1|2 2|3 3|4 4|5 contactyes tempwarm lambda 221s -0.8797774 0.6678307 1.9806826 2.8593125 0.8614400 1.5071959 0.1614741 221s > coef(summary(fm)) 221s Estimate Std. Error z value Pr(>|z|) 221s 1|2 -0.8797774 0.5002966 -1.7585116 7.866049e-02 221s 2|3 0.6678307 0.3449548 1.9359945 5.286838e-02 221s 3|4 1.9806826 0.3825630 5.1774020 2.249971e-07 221s 4|5 2.8593125 0.4655846 6.1413379 8.182930e-10 221s contactyes 0.8614400 0.2675208 3.2200868 1.281518e-03 221s tempwarm 1.5071959 0.2947388 5.1136658 3.159661e-07 221s lambda 0.1614741 0.5751734 0.2807398 7.789100e-01 221s > nobs(fm) 221s [1] 72 221s > terms(fm) 221s rating ~ contact + temp 221s attr(,"variables") 221s list(rating, contact, temp) 221s attr(,"factors") 221s contact temp 221s rating 0 0 221s contact 1 0 221s temp 0 1 221s attr(,"term.labels") 221s [1] "contact" "temp" 221s attr(,"order") 221s [1] 1 1 221s attr(,"intercept") 221s [1] 1 221s attr(,"response") 221s [1] 1 221s attr(,".Environment") 221s 221s attr(,"predvars") 221s list(rating, contact, temp) 221s attr(,"dataClasses") 221s rating contact temp 221s "ordered" "factor" "factor" 221s > # profile(fm) # not implemented 221s > confint(fm) 221s 2.5 % 97.5 % 221s 1|2 -1.860340647 0.1007859 221s 2|3 -0.008268392 1.3439298 221s 3|4 1.230872843 2.7304924 221s 4|5 1.946783401 3.7718416 221s contactyes 0.337108995 1.3857711 221s tempwarm 0.929518433 2.0848735 221s lambda -0.965845152 1.2887933 221s > 221s > predict(fm, se=TRUE, interval = TRUE) 221s $fit 221s [1] 0.55792544 0.21565445 0.44140778 0.09846706 0.22428321 0.22428321 221s [7] 0.29090567 0.29090567 0.21042288 0.55792544 0.05388914 0.44140778 221s [13] 0.20737472 0.48129483 0.29090567 0.33832254 0.55792544 0.21565445 221s [19] 0.44140778 0.39099052 0.07269587 0.07269587 0.33832254 0.33832254 221s [25] 0.21565445 0.55792544 0.44140778 0.39099052 0.48129483 0.20737472 221s [31] 0.29090567 0.31272339 0.55792544 0.21565445 0.09846706 0.44140778 221s [37] 0.48129483 0.48129483 0.31272339 0.31272339 0.21565445 0.55792544 221s [43] 0.44140778 0.39099052 0.20737472 0.22428321 0.29090567 0.33832254 221s [49] 0.21042288 0.21042288 0.39099052 0.39099052 0.20737472 0.48129483 221s [55] 0.05636253 0.31272339 0.55792544 0.55792544 0.39099052 0.44140778 221s [61] 0.48129483 0.48129483 0.31272339 0.33832254 0.21042288 0.55792544 221s [67] 0.44140778 0.39099052 0.48129483 0.20737472 0.33832254 0.33832254 221s 221s $se.fit 221s [1] 0.09164058 0.09494135 0.08777656 0.05464347 0.08112461 0.08112461 221s [7] 0.13494788 0.13494788 0.13693811 0.09164058 0.04809909 0.08777656 221s [13] 0.09512593 0.07373113 0.13494788 0.08236628 0.09164058 0.09494135 221s [19] 0.08777656 0.09756681 0.06362571 0.06362571 0.08236628 0.08236628 221s [25] 0.09494135 0.09164058 0.08777656 0.09756681 0.07373113 0.09512593 221s [31] 0.13494788 0.09451059 0.09164058 0.09494135 0.05464347 0.08777656 221s [37] 0.07373113 0.07373113 0.09451059 0.09451059 0.09494135 0.09164058 221s [43] 0.08777656 0.09756681 0.09512593 0.08112461 0.13494788 0.08236628 221s [49] 0.13693811 0.13693811 0.09756681 0.09756681 0.09512593 0.07373113 221s [55] 0.03866211 0.09451059 0.09164058 0.09164058 0.09756681 0.08777656 221s [61] 0.07373113 0.07373113 0.09451059 0.08236628 0.13693811 0.09164058 221s [67] 0.08777656 0.09756681 0.07373113 0.09512593 0.08236628 0.08236628 221s 221s $lwr 221s [1] 0.378604421 0.083839589 0.282278454 0.031650565 0.103885179 0.103885179 221s [7] 0.102183449 0.102183449 0.050316476 0.378604421 0.008885132 0.282278454 221s [13] 0.077621510 0.342154616 0.102183449 0.199101468 0.378604421 0.083839589 221s [19] 0.282278454 0.223352983 0.012177666 0.012177666 0.199101468 0.199101468 221s [25] 0.083839589 0.378604421 0.282278454 0.223352983 0.342154616 0.077621510 221s [31] 0.102183449 0.161206608 0.378604421 0.083839589 0.031650565 0.282278454 221s [37] 0.342154616 0.342154616 0.161206608 0.161206608 0.083839589 0.378604421 221s [43] 0.282278454 0.223352983 0.077621510 0.103885179 0.102183449 0.199101468 221s [49] 0.050316476 0.050316476 0.223352983 0.223352983 0.077621510 0.342154616 221s [55] 0.014165414 0.161206608 0.378604421 0.378604421 0.223352983 0.282278454 221s [61] 0.342154616 0.342154616 0.161206608 0.199101468 0.050316476 0.378604421 221s [67] 0.282278454 0.223352983 0.342154616 0.077621510 0.199101468 0.199101468 221s 221s $upr 221s [1] 0.7233159 0.4523801 0.6135565 0.2673887 0.4189772 0.4189772 0.5965756 221s [8] 0.5965756 0.5727401 0.7233159 0.2657272 0.6135565 0.4485489 0.6233979 221s [15] 0.5965756 0.5125880 0.7233159 0.4523801 0.6135565 0.5890239 0.3326787 221s [22] 0.3326787 0.5125880 0.5125880 0.4523801 0.7233159 0.6135565 0.5890239 221s [29] 0.6233979 0.4485489 0.5965756 0.5186019 0.7233159 0.4523801 0.2673887 221s [36] 0.6135565 0.6233979 0.6233979 0.5186019 0.5186019 0.4523801 0.7233159 221s [43] 0.6135565 0.5890239 0.4485489 0.4189772 0.5965756 0.5125880 0.5727401 221s [50] 0.5727401 0.5890239 0.5890239 0.4485489 0.6233979 0.1988990 0.5186019 221s [57] 0.7233159 0.7233159 0.5890239 0.6135565 0.6233979 0.6233979 0.5186019 221s [64] 0.5125880 0.5727401 0.7233159 0.6135565 0.5890239 0.6233979 0.4485489 221s [71] 0.5125880 0.5125880 221s 221s > predict(fm, type="class") 221s $fit 221s [1] 2 2 3 3 3 3 4 4 2 2 3 3 3 3 4 4 2 2 3 3 3 3Profile intervals not available for models with flexible link function: 221s reporting Wald intervals instead 221s 4 4 2 2 3 3 3 3 4 4 2 2 3 3 3 3 221s [39] 4 4 2 2 3 3 3 3 4 4 2 2 3 3 3 3 4 4 2 2 3 3 3 3 4 4 2 2 3 3 3 3 4 4 221s Levels: 1 2 3 4 5 221s 221s > newData <- expand.grid(temp = c("cold", "warm"), 221s + contact = c("no", "yes")) 221s > 221s > ## Predicted probabilities in all five response categories for each of 221s > ## the four cases in newData: 221s > predict(fm, newdata=newData, type="prob") 221s $fit 221s 1 2 3 4 5 221s 1 0.210422883 0.55792544 0.2156544 0.01517801 0.0008192111 221s 2 0.014351371 0.20737472 0.4812948 0.22428321 0.0726958744 221s 3 0.053889141 0.39099052 0.4414078 0.09846706 0.0152454933 221s 4 0.001685878 0.05636253 0.3127234 0.33832254 0.2909056651 221s 221s > predict(fm, newdata=newData, type="class") 221s $fit 221s [1] 2 3 3 4 221s Levels: 1 2 3 4 5 221s 221s > 221s > predict(fm, newdata=newData, type="prob", se.fit = TRUE, interval = TRUE) 221s $fit 221s 1 2 3 4 5 221s 1 0.210422883 0.55792544 0.2156544 0.01517801 0.0008192111 221s 2 0.014351371 0.20737472 0.4812948 0.22428321 0.0726958744 221s 3 0.053889141 0.39099052 0.4414078 0.09846706 0.0152454933 221s 4 0.001685878 0.05636253 0.3127234 0.33832254 0.2909056651 221s 221s $se.fit 221s 1 2 3 4 5 221s 1 0.136938110 0.09164058 0.09494135 0.01696529 0.002047363 221s 2 0.016247015 0.09512593 0.07373113 0.08112461 0.063625711 221s 3 0.048099092 0.09756681 0.08777656 0.05464347 0.019268560 221s 4 0.002046575 0.03866211 0.09451059 0.08236628 0.134947885 221s 221s $lwr 221s 1 2 3 4 5 221s 1 0.050316476 0.37860442 0.08383959 0.001663553 6.091052e-06 221s 2 0.001530524 0.07762151 0.34215462 0.103885179 1.217767e-02 221s 3 0.008885132 0.22335298 0.28227845 0.031650565 1.249665e-03 221s 4 0.000155750 0.01416541 0.16120661 0.199101468 1.021834e-01 221s 221s $upr 221s 1 2 3 4 5 221s 1 0.57274013 0.7233159 0.4523801 0.1247616 0.09939055 221s 2 0.12150065 0.4485489 0.6233979 0.4189772 0.33267865 221s 3 0.26572719 0.5890239 0.6135565 0.2673887 0.16075952 221s 4 0.01797808 0.1988990 0.5186019 0.5125880 0.59657563 221s 221s > 221s > 221s > ## Aranda-Ordaz link: 221s > fm <- clm(rating ~ contact + temp, data=wine, link="Aranda-Ordaz") 221s > fm 221s Changing to 'nlminb' optimizer for flexible link function 221s Warning message: 221s (-1) Model failed to converge with max|grad| = 1.63026e-05 (tol = 1e-06) 221s Profile intervals not available for models with flexible link function: 221s reporting Wald intervals instead 221s formula: rating ~ contact + temp 221s data: wine 221s 221s link threshold nobs logLik AIC niter max.grad cond.H 221s Aranda-Ordaz flexible 72 -86.34 186.68 31(219) 1.63e-05 3.9e+02 221s 221s Coefficients: 221s contactyes tempwarm 221s 1.193 2.076 221s 221s Link coefficient: 221s lambda 221s 0.4994 221s 221s Threshold coefficients: 221s 1|2 2|3 3|4 4|5 221s -1.5284 0.7669 2.6021 3.7962 221s > summary(fm) 221s formula: rating ~ contact + temp 221s data: wine 221s 221s link threshold nobs logLik AIC niter max.grad cond.H 221s Aranda-Ordaz flexible 72 -86.34 186.68 31(219) 1.63e-05 3.9e+02 221s 221s Coefficients: 221s Estimate Std. Error z value Pr(>|z|) 221s contactyes 1.1927 0.6526 1.828 0.0676 . 221s tempwarm 2.0758 0.8196 2.533 0.0113 * 221s --- 221s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 221s 221s Link coefficients: 221s Estimate Std. Error z value Pr(>|z|) 221s lambda 0.4994 0.7840 0.637 0.524 221s 221s Threshold coefficients: 221s Estimate Std. Error z value 221s 1|2 -1.5284 0.5775 -2.647 221s 2|3 0.7669 0.8234 0.931 221s 3|4 2.6021 1.4335 1.815 221s 4|5 3.7962 1.9674 1.930 221s > vcov(fm) 221s 1|2 2|3 3|4 4|5 contactyes tempwarm 221s 1|2 0.3335060 0.2983830 0.4851477 0.6557866 0.2132243 0.2586679 221s 2|3 0.2983830 0.6780278 1.1261329 1.5330564 0.4699069 0.5953101 221s 3|4 0.4851477 1.1261329 2.0550132 2.7755716 0.8214403 1.0831428 221s 4|5 0.6557866 1.5330564 2.7755716 3.8705158 1.1194941 1.4831343 221s contactyes 0.2132243 0.4699069 0.8214403 1.1194941 0.4259333 0.3965112 221s tempwarm 0.2586679 0.5953101 1.0831428 1.4831343 0.3965112 0.6717720 221s lambda 0.2424389 0.5895693 1.0675177 1.4810302 0.4153797 0.5471765 221s lambda 221s 1|2 0.2424389 221s 2|3 0.5895693 221s 3|4 1.0675177 221s 4|5 1.4810302 221s contactyes 0.4153797 221s tempwarm 0.5471765 221s lambda 0.6146953 221s > logLik(fm) 221s 'log Lik.' -86.34171 (df=7) 221s > extractAIC(fm) 221s [1] 7.0000 186.6834 221s > fm2 <- update(fm, link="logit") 221s > anova(fm, fm2) 221s Likelihood ratio tests of cumulative link models: 221s 221s formula: link: threshold: 221s fm2 rating ~ contact + temp logit flexible 221s fm rating ~ contact + temp Aranda-Ordaz flexible 221s 221s no.par AIC logLik LR.stat df Pr(>Chisq) 221s fm2 6 184.98 -86.492 221s fm 7 186.68 -86.342 0.3004 1 0.5836 221s > head(model.matrix(fm)$X) 221s (Intercept) contactyes tempwarm 221s 1 1 0 0 221s 2 1 0 0 221s 3 1 1 0 221s 4 1 1 0 221s 5 1 0 1 221s 6 1 0 1 221s > head(model.frame(fm)) 221s rating contact temp 221s 1 2 no cold 221s 2 3 no cold 221s 3 3 yes cold 221s 4 4 yes cold 221s 5 4 no warm 221s 6 4 no warm 221s > coef(fm) 221s 1|2 2|3 3|4 4|5 contactyes tempwarm lambda 221s -1.5283885 0.7668892 2.6021281 3.7962200 1.1927244 2.0757936 0.4994415 221s > coef(summary(fm)) 221s Estimate Std. Error z value Pr(>|z|) 221s 1|2 -1.5283885 0.5774998 -2.6465611 0.008131482 221s 2|3 0.7668892 0.8234244 0.9313413 0.351677025 221s 3|4 2.6021281 1.4335317 1.8151869 0.069495186 221s 4|5 3.7962200 1.9673627 1.9295985 0.053656609 221s contactyes 1.1927244 0.6526357 1.8275501 0.067617099 221s tempwarm 2.0757936 0.8196170 2.5326386 0.011320761 221s lambda 0.4994415 0.7840251 0.6370223 0.524110286 221s > nobs(fm) 221s [1] 72 221s > terms(fm) 221s rating ~ contact + temp 221s attr(,"variables") 221s list(rating, contact, temp) 221s attr(,"factors") 221s contact temp 221s rating 0 0 221s contact 1 0 221s temp 0 1 221s attr(,"term.labels") 221s [1] "contact" "temp" 221s attr(,"order") 221s [1] 1 1 221s attr(,"intercept") 221s [1] 1 221s attr(,"response") 221s [1] 1 221s attr(,".Environment") 221s 221s attr(,"predvars") 221s list(rating, contact, temp) 221s attr(,"dataClasses") 221s rating contact temp 221s "ordered" "factor" "factor" 221s > # profile(fm) # not implemented 221s > confint(fm) 221s 2.5 % 97.5 % 221s 1|2 -2.66026726 -0.3965097 221s 2|3 -0.84699302 2.3807714 221s 3|4 -0.20754249 5.4117986 221s 4|5 -0.05973999 7.6521799 221s contactyes -0.08641802 2.4718668 221s tempwarm 0.46937382 3.6822133 221s lambda -1.03721941 2.0361024 221s > 221s > predict(fm, se=TRUE, interval = TRUE) 221s $fit 221s [1] 0.58209325 0.21518056 0.46054754 0.09103825 0.22383779 0.22383779 221s [7] 0.29286866 0.29286866 0.18610435 0.58209325 0.06269201 0.46054754 221s [13] 0.19716614 0.48293297 0.29286866 0.34021081 0.58209325 0.21518056 221s [19] 0.46054754 0.36913993 0.06939859 0.06939859 0.34021081 0.34021081 221s [25] 0.21518056 0.58209325 0.46054754 0.36913993 0.48293297 0.19716614 221s [31] 0.29286866 0.28974275 0.58209325 0.21518056 0.09103825 0.46054754 221s [37] 0.48293297 0.48293297 0.28974275 0.28974275 0.21518056 0.58209325 221s [43] 0.46054754 0.36913993 0.19716614 0.22383779 0.29286866 0.34021081 221s [49] 0.18610435 0.18610435 0.36913993 0.36913993 0.19716614 0.48293297 221s [55] 0.06897335 0.28974275 0.58209325 0.58209325 0.36913993 0.46054754 221s [61] 0.48293297 0.48293297 0.28974275 0.34021081 0.18610435 0.58209325 221s [67] 0.46054754 0.36913993 0.48293297 0.19716614 0.34021081 0.34021081 221s 221s $se.fit 221s [1] 0.14151187 0.09458704 0.10284384 0.06173010 0.06089158 0.06089158 221s [7] 0.17401323 0.17401323 0.08458282 0.14151187 0.03342713 0.10284384 221s [13] 0.06151480 0.16022480 0.17401323 0.14317221 0.14151187 0.09458704 221s [19] 0.10284384 0.09671235 0.16165494 0.16165494 0.14317221 0.14317221 221s [25] 0.09458704 0.14151187 0.10284384 0.09671235 0.16022480 0.06151480 221s [31] 0.17401323 0.08680263 0.14151187 0.09458704 0.06173010 0.10284384 221s [37] 0.16022480 0.16022480 0.08680263 0.08680263 0.09458704 0.14151187 221s [43] 0.10284384 0.09671235 0.06151480 0.06089158 0.17401323 0.14317221 221s [49] 0.08458282 0.08458282 0.09671235 0.09671235 0.06151480 0.16022480 221s [55] 0.03861752 0.08680263 0.14151187 0.14151187 0.09671235 0.10284384 221s [61] 0.16022480 0.16022480 0.08680263 0.14317221 0.08458282 0.14151187 221s [67] 0.10284384 0.09671235 0.16022480 0.06151480 0.14317221 0.14317221 221s 221s $lwr 221s [1] 0.3081470903 0.0838051147 0.2749859871 0.0226847128 0.1267084215 221s [6] 0.1267084215 0.0738941549 0.0738941549 0.0710944694 0.3081470903 221s [11] 0.0214631497 0.2749859871 0.1028661816 0.2098384782 0.0738941549 221s [16] 0.1287024770 0.3081470903 0.0838051147 0.2749859871 0.2058910205 221s [21] 0.0005517244 0.0005517244 0.1287024770 0.1287024770 0.0838051147 221s [26] 0.3081470903 0.2749859871 0.2058910205 0.2098384782 0.1028661816 221s [31] 0.0738941549 0.1514410899 0.3081470903 0.0838051147 0.0226847128 221s [36] 0.2749859871 0.2098384782 0.2098384782 0.1514410899 0.1514410899 221s [41] 0.0838051147 0.3081470903 0.2749859871 0.2058910205 0.1028661816 221s [46] 0.1267084215 0.0738941549 0.1287024770 0.0710944694 0.0710944694 221s [51] 0.2058910205 0.2058910205 0.1028661816 0.2098384782 0.0222866429 221s [56] 0.1514410899 0.3081470903 0.3081470903 0.2058910205 0.2749859871 221s [61] 0.2098384782 0.2098384782 0.1514410899 0.1287024770 0.0710944694 221s [66] 0.3081470903 0.2749859871 0.2058910205 0.2098384782 0.1028661816 221s [71] 0.1287024770 0.1287024770 221s 221s $upr 221s [1] 0.8132915 0.4511024 0.6577298 0.3017605 0.3643579 0.3643579 0.6825186 221s [8] 0.6825186 0.4058732 0.8132915 0.1694071 0.6577298 0.3446983 0.7666176 221s [15] 0.6825186 0.6428534 0.8132915 0.4511024 0.6577298 0.5690698 0.9097003 221s [22] 0.9097003 0.6428534 0.6428534 0.4511024 0.8132915 0.6577298 0.5690698 221s [29] 0.7666176 0.3446983 0.6825186 0.4825259 0.8132915 0.4511024 0.3017605 221s [36] 0.6577298 0.7666176 0.7666176 0.4825259 0.4825259 0.4511024 0.8132915 221s [43] 0.6577298 0.5690698 0.3446983 0.3643579 0.6825186 0.6428534 0.4058732 221s [50] 0.4058732 0.5690698 0.5690698 0.3446983 0.7666176 0.1940499 0.4825259 221s [57] 0.8132915 0.8132915 0.5690698 0.6577298 0.7666176 0.7666176 0.4825259 221s [64] 0.6428534 0.4058732 0.8132915 0.6577298 0.5690698 0.7666176 0.3446983 221s [71] 0.6428534 0.6428534 221s 221s > predict(fm, type="class") 221s $fit 221s [1] 2 2 3 3 3 3 4 4 2 2 3 3 3 3 4 4 2 2 3 3 3 3 4 4 2 2 3 3 3 3 4 4 2 2 3 3 3 3 221s [39] 4 4 2 2 3 3 3 3 4 4 2 2 3 3 3 3 4 4 2 2 3 3 3 3 4 4 2 2 3 3 3 3 4 4 221s Levels: 1 2 3 4 5 221s 221s > newData <- expand.grid(temp = c("cold", "warm"), 221s + contact = c("no", "yes")) 221s > 221s > ## Predicted probabilities in all five response categories for each of 221s > ## the four cases in newData: 221s > predict(fm, newdata=newData, type="prob") 221s $fit 221s 1 2 3 4 5 221s 1 0.186104347 0.58209325 0.2151806 0.01478353 0.001838315 221s 2 0.026664518 0.19716614 0.4829330 0.22383779 0.069398588 221s 3 0.062692012 0.36913993 0.4605475 0.09103825 0.016582262 221s 4 0.008204432 0.06897335 0.2897428 0.34021081 0.292868655 221s 221s > predict(fm, newdata=newData, type="class") 221s $fit 221s [1] 2 3 3 4 221s Levels: 1 2 3 4 5 221s 221s > 221s > predict(fm, newdata=newData, type="prob", se.fit = TRUE, interval = TRUE) 221s $fit 221s 1 2 3 4 5 221s 1 0.186104347 0.58209325 0.2151806 0.01478353 0.001838315 221s 2 0.026664518 0.19716614 0.4829330 0.22383779 0.069398588 221s 3 0.062692012 0.36913993 0.4605475 0.09103825 0.016582262 221s 4 0.008204432 0.06897335 0.2897428 0.34021081 0.292868655 221s 221s $se.fit 221s 1 2 3 4 5 221s 1 0.084582817 0.14151187 0.09458704 0.05105462 0.04225890 221s 2 0.018013146 0.06151480 0.16022480 0.06089158 0.16165494 221s 3 0.033427133 0.09671235 0.10284384 0.06173010 0.09203687 221s 4 0.009189041 0.03861752 0.08680263 0.14317221 0.17401323 221s 221s $lwr 221s 1 2 3 4 5 221s 1 0.0710944694 0.30814709 0.08380511 1.557841e-05 4.590853e-23 221s 2 0.0069799027 0.10286618 0.20983848 1.267084e-01 5.517244e-04 221s 3 0.0214631497 0.20589102 0.27498599 2.268471e-02 2.647288e-07 221s 4 0.0009036362 0.02228664 0.15144109 1.287025e-01 7.389415e-02 221s 221s $upr 221s 1 2 3 4 5 221s 1 0.40587324 0.8132915 0.4511024 0.9352884 1.0000000 221s 2 0.09647027 0.3446983 0.7666176 0.3643579 0.9097003 221s 3 0.16940714 0.5690698 0.6577298 0.3017605 0.9990698 221s 4 0.07033824 0.1940499 0.4825259 0.6428534 0.6825186 221s 221s > 221s > ######################################################################## 221s > ### Models with scale + flex link (or cauchit link) 221s > ######################################################################## 221s > 221s > fm <- clm(SURENESS ~ PRODID, scale=~PROD, data = soup, link="Aranda-Ordaz") 221s Changing to 'nlminb' optimizer for flexible link function 221s > summary(fm) 221s formula: SURENESS ~ PRODID 221s scale: ~PROD 221s data: soup 221s 221s link threshold nobs logLik AIC niter max.grad cond.H 221s Aranda-Ordaz flexible 1847 -2674.65 5373.30 57(719) 3.74e-04 9.0e+03 221s 221s Coefficients: 221s Estimate Std. Error z value Pr(>|z|) 221s PRODID2 1.3604 0.4137 3.289 0.001007 ** 221s PRODID3 2.2066 0.6659 3.314 0.000921 *** 221s PRODID4 1.2553 0.4086 3.072 0.002124 ** 221s PRODID5 1.9820 0.5886 3.367 0.000759 *** 221s PRODID6 2.4715 0.7713 3.204 0.001355 ** 221s --- 221s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 221s 221s log-scale coefficients: 221s Estimate Std. Error z value Pr(>|z|) 221s PRODTest 0.2807 0.1553 1.808 0.0706 . 221s Warning message: 221s (-1) Model failed to converge with max|grad| = 0.000374096 (tol = 1e-06) 221s --- 221s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 221s 221s Link coefficients: 221s Estimate Std. Error z value Pr(>|z|) 221s lambda 2.063 1.136 1.816 0.0693 . 221s --- 221s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 221s 221s Threshold coefficients: 221s Estimate Std. Error z value 221s 1|2 -1.3927 0.1491 -9.344 221s 2|3 -0.1449 0.3533 -0.410 221s 3|4 0.3051 0.4699 0.649 221s 4|5 0.6733 0.5802 1.160 221s 5|6 1.7210 0.9594 1.794 221s > 221s > fm <- clm(SURENESS ~ PRODID, scale=~PROD, data = soup, link="log-gamma") 221s Changing to 'nlminb' optimizer for flexible link function 223s > summary(fm) 223s formula: SURENESS ~ PRODID 223s scale: ~PROD 223s data: soup 223s 223s Warning message: 223s (-1) Model failed to converge with max|grad| = 0.00334059 (tol = 1e-06) 223s link threshold nobs logLik AIC niter max.grad cond.H 223s log-gamma flexible 1847 -2676.84 5377.68 90(1050) 3.34e-03 8.9e+03 223s 223s Coefficients: 223s Estimate Std. Error z value Pr(>|z|) 223s PRODID2 0.62877 0.09223 6.818 9.26e-12 *** 223s PRODID3 1.02758 0.13449 7.640 2.16e-14 *** 223s PRODID4 0.59157 0.11435 5.173 2.30e-07 *** 223s PRODID5 0.91937 0.12977 7.085 1.39e-12 *** 223s PRODID6 1.13202 0.13927 8.128 4.35e-16 *** 223s --- 223s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 223s 223s log-scale coefficients: 223s Estimate Std. Error z value Pr(>|z|) 223s PRODTest 0.09065 0.18402 0.493 0.622 223s 223s Link coefficients: 223s Estimate Std. Error z value Pr(>|z|) 223s lambda 0.475 0.703 0.676 0.499 223s 223s Threshold coefficients: 223s Estimate Std. Error z value 223s 1|2 -1.15651 0.45764 -2.527 223s 2|3 -0.47330 0.29569 -1.601 223s 3|4 -0.24746 0.26538 -0.932 223s 4|5 -0.07225 0.24982 -0.289 223s 5|6 0.37912 0.24130 1.571 223s > 223s > fm <- clm(SURENESS ~ PRODID, scale=~PROD, data = soup, link="cauchit") 223s > summary(fm) 223s formula: SURENESS ~ PRODID 223s scale: ~PROD 223s data: soup 223s 223s link threshold nobs logLik AIC niter max.grad cond.H 223s cauchit flexible 1847 -2679.34 5380.67 11(1) 3.10e-07 3.0e+02 223s 223s Coefficients: 223s Estimate Std. Error z value Pr(>|z|) 223s PRODID2 0.70550 0.09611 7.341 2.12e-13 *** 223s PRODID3 1.06186 0.13882 7.649 2.02e-14 *** 223s PRODID4 0.66876 0.11911 5.614 1.97e-08 *** 223s PRODID5 1.01135 0.13277 7.617 2.59e-14 *** 223s PRODID6 1.12784 0.14159 7.966 1.64e-15 *** 223s --- 223s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 223s 223s log-scale coefficients: 223s Estimate Std. Error z value Pr(>|z|) 223s PRODTest -0.20801 0.09524 -2.184 0.029 * 223s --- 223s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 223s 223s Threshold coefficients: 223s Estimate Std. Error z value 223s 1|2 -1.70920 0.14977 -11.412 223s 2|3 -0.36737 0.06302 -5.830 223s 3|4 -0.06736 0.05734 -1.175 223s 4|5 0.14657 0.05708 2.568 223s 5|6 0.67063 0.07072 9.483 223s > 223s > ######################################################################## 223s > ### clm.fit 223s > ######################################################################## 223s > 223s > ## Example with log-gamma: 223s > fm1 <- clm(rating ~ contact + temp, data=wine, link="log-gamma") 223s Changing to 'nlminb' optimizer for flexible link function 223s > summary(fm1) 223s formula: rating ~ contact + temp 223s data: wine 223s 223s link threshold nobs logLik AIC niter max.grad cond.H 223s log-gamma flexible 72 -85.72 185.44 27(179) 9.91e-05 5.9e+01 223s 223s Coefficients: 223s Estimate Std. Error z value Pr(>|z|) 223s contactyes 0.8614 0.2675 3.220 0.00128 ** 223s tempwarm 1.5072 0.2947 5.114 3.16e-07 *** 223s --- 223s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 223s 223s Link coefficients: 223s Estimate Std. Error z value Pr(>|z|) 223s lambda 0.1615 0.5752 0.281 0.779 223s 223s Threshold coefficients: 223s Estimate Std. Error z value 223s 1|2 -0.8798 0.5003 -1.759 223s 2|3 0.6678 0.3450 1.936 223s 3|4 1.9807 0.3826 5.177 223s 4|5 2.8593 0.4656 6.141 223s > ## get the model frame containing y and X: 223s > mf1 <- update(fm1, method="design") 223s > names(mf1) 223s [1] "y" "y.levels" "X" "offset" "terms" "contrasts" 223s [7] "xlevels" "weights" "doFit" "control" "link" "threshold" 223s [13] "start" "formulas" 223s > res <- clm.fit(mf1$y, mf1$X, link="log-gamma") ## invoking the factor method 223s Warning message: 223s (-1) Model failed to converge with max|grad| = 9.9099e-05 (tol = 1e-06) 223s Changing to 'nlminb' optimizer for flexible link function 223s Warning message: 223s (-1) Model failed to converge with max|grad| = 9.9099e-05 (tol = 1e-06) 223s > coef(res) 223s 1|2 2|3 3|4 4|5 contactyes tempwarm lambda 223s -0.8797774 0.6678307 1.9806826 2.8593125 0.8614400 1.5071959 0.1614741 223s > stopifnot(all.equal(coef(res), coef(fm1))) 223s > 223s > ## Example with Aranda-Ordaz: 223s > fm1 <- clm(rating ~ contact + temp, data=wine, link="Aranda-Ordaz") 223s > mf1 <- update(fm1, method="design") 223s > res <- clm.fit(mf1$y, mf1$X, link="Aranda") ## invoking the factor method 223s Changing to 'nlminb' optimizer for flexible link function 223s Warning message: 223s (-1) Model failed to converge with max|grad| = 1.63026e-05 (tol = 1e-06) 223s Changing to 'nlminb' optimizer for flexible link function 224s > stopifnot(all.equal(coef(res), coef(fm1))) 224s > 224s > 224s Warning message: 224s (-1) Model failed to converge with max|grad| = 1.63026e-05 (tol = 1e-06) 224s BEGIN TEST test.clm.model.matrix.R 224s 224s R version 4.4.3 (2025-02-28) -- "Trophy Case" 224s Copyright (C) 2025 The R Foundation for Statistical Computing 224s Platform: aarch64-unknown-linux-gnu 224s 224s R is free software and comes with ABSOLUTELY NO WARRANTY. 224s You are welcome to redistribute it under certain conditions. 224s Type 'license()' or 'licence()' for distribution details. 224s 224s R is a collaborative project with many contributors. 224s Type 'contributors()' for more information and 224s 'citation()' on how to cite R or R packages in publications. 224s 224s Type 'demo()' for some demos, 'help()' for on-line help, or 224s 'help.start()' for an HTML browser interface to help. 224s Type 'q()' to quit R. 224s 224s > library(ordinal) 225s > ## source("test.clm.model.matrix.R") 225s > 225s > ## library(devtools) 225s > ## r2path <- "/Users/rhbc/Documents/Rpackages/ordinal/pkg/ordinal" 225s > ## clean_dll(pkg = r2path) 225s > ## load_all(r2path) 225s > 225s > ## Check that get_clmDesign works in standard setting: 225s > fm1 <- clm(rating ~ temp, scale=~contact, nominal=~contact, data=wine) 225s > contr <- c(fm1$contrasts, fm1$S.contrasts, fm1$nom.contrasts) 225s > XX <- ordinal:::get_clmDesign(fm1$model, terms(fm1, "all"), contrasts=contr) 225s > XX2 <- update(fm1, method="design") 225s > (keep <- intersect(names(XX), names(XX2))) 225s [1] "y" "y.levels" "X" "offset" 225s [5] "terms" "contrasts" "xlevels" "weights" 225s [9] "S" "S.terms" "S.off" "S.contrasts" 225s [13] "S.xlevels" "NOM" "nom.terms" "nom.contrasts" 225s [17] "nom.xlevels" 225s > (test <- mapply(function(x, y) isTRUE(all.equal(x, y)), 225s + XX[keep], XX2[keep])) 225s y y.levels X offset terms 225s TRUE TRUE TRUE TRUE TRUE 225s contrasts xlevels weights S S.terms 225s TRUE TRUE TRUE TRUE TRUE 225s S.off S.contrasts S.xlevels NOM nom.terms 225s TRUE TRUE TRUE TRUE TRUE 225s nom.contrasts nom.xlevels 225s TRUE TRUE 225s > stopifnot(all(test)) 225s > 225s > ## Check that get_clmDesign works with singular fit and NAs: 225s > cy <- with(wine, which(temp == "cold" & contact == "yes")) 225s > wine2 <- subset(wine, subset=(!1:nrow(wine) %in% cy)) 225s > wine2[c(9, 15, 46), "rating"] <- NA 225s > fm1 <- clm(rating ~ temp, scale=~contact, nominal=~contact, 225s + data=wine2) 225s > contr <- c(fm1$contrasts, fm1$S.contrasts, fm1$nom.contrasts) 225s > XX <- ordinal:::get_clmDesign(fm1$model, terms(fm1, "all"), contrasts=contr) 225s > Warning message: 225s (1) Hessian is numerically singular: parameters are not uniquely determined 225s In addition: Absolute convergence criterion was met, but relative criterion was not met 225s XX2 <- update(fm1, method="design") 225s > (keep <- intersect(names(XX), names(XX2))) 225s [1] "y" "y.levels" "X" "offset" 225s [5] "terms" "contrasts" "xlevels" "na.action" 225s [9] "weights" "S" "S.terms" "S.off" 225s [13] "S.contrasts" "S.xlevels" "NOM" "nom.terms" 225s [17] "nom.contrasts" "nom.xlevels" 225s > (test <- mapply(function(x, y) isTRUE(all.equal(x, y)), 225s + XX[keep], XX2[keep])) 225s y y.levels X offset terms 225s TRUE TRUE TRUE TRUE TRUE 225s contrasts xlevels na.action weights S 225s TRUE TRUE TRUE TRUE TRUE 225s S.terms S.off S.contrasts S.xlevels NOM 225s TRUE TRUE TRUE TRUE TRUE 225s nom.terms nom.contrasts nom.xlevels 225s TRUE TRUE TRUE 225s > stopifnot(all(test)) 225s > 225s > ## In this situation update and get_clmRho give the same results: 225s > wine2 <- wine 225s > fm1 <- clm(rating ~ temp + contact, data=wine2) ## OK 225s > rho1 <- ordinal:::get_clmRho.clm(fm1) 225s > l1 <- as.list(rho1) 225s > l2 <- as.list(update(fm1, doFit=FALSE)) 225s > (test <- mapply(function(x, y) isTRUE(all.equal(x, y)), 225s + l1, l2[names(l1)])) 225s nlambda link gfun dfun pfun par clm.hess clm.grad 225s TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE 225s clm.nll wts fitted has.scale sigma k Soff S 225s TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE 225s n.psi o2 o1 B2 B1 225s TRUE TRUE TRUE TRUE TRUE 225s > stopifnot(all(test)) 225s > ## If we modify the data (or other subset, weights, formulae, etc.) 225s > ## used in the model call, the results from update no longer correspond 225s > ## to the elements of the fitted model object. get_clmRho gets it 225s > ## right on the other hand: 225s > wine2[10:13, "rating"] <- NA 225s > l3 <- as.list(ordinal:::get_clmRho.clm(fm1)) 225s > l4 <- as.list(update(fm1, doFit=FALSE)) 225s > (test <- mapply(function(x, y) isTRUE(all.equal(x, y)), 225s + l1, l3)) 225s nlambda link gfun dfun pfun par clm.hess clm.grad 225s TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE 225s clm.nll wts fitted has.scale sigma k Soff S 225s TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE 225s n.psi o2 o1 B2 B1 225s TRUE TRUE TRUE TRUE TRUE 225s > stopifnot(all(test)) ## same 225s > (test <- mapply(function(x, y) isTRUE(all.equal(x, y)), 225s + l3, l4[names(l3)])) 225s nlambda link gfun dfun pfun par clm.hess clm.grad 225s TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE 225s clm.nll wts fitted has.scale sigma k Soff S 225s TRUE FALSE FALSE TRUE FALSE TRUE FALSE TRUE 225s n.psi o2 o1 B2 B1 225s TRUE FALSE FALSE FALSE FALSE 225s > stopifnot(sum(!test) == 8) ## not all the same anymore! 225s > ## In conclusion l1, l2, and l3 are identical. l4 is different. 225s > 225s > ################################# 225s > ## Test that checkContrasts give appropriate warnings: 225s > contr <- c(temp="contr.sum", contact="contr.sum") 225s > fm1 <- clm(rating ~ temp + contact, scale=~contact, data=wine) ## OK 225s > fm1 <- clm(rating ~ temp + contact, scale=~contact, data=wine, 225s + contrasts=contr) ## OK 225s > fm1 <- clm(rating ~ temp, scale=~contact, data=wine, 225s + contrasts=contr) ## OK 225s Warning messages: 225s 1: In model.matrix.default(terms, data = fullmf, contrasts.arg = getContrasts(terms, : 225s non-list contrasts argument ignored 225s 2: In model.matrix.default(terms, data = fullmf, contrasts.arg = getContrasts(terms, : 225s non-list contrasts argument ignored 225s Warning messages: 225s > ## These should give warnings: 225s > fm1 <- clm(rating ~ temp, contrasts=c(contact="contr.sum"), data=wine) 225s 1: In model.matrix.default(terms, data = fullmf, contrasts.arg = getContrasts(terms, : 225s non-list contrasts argument ignored 225s 2: In model.matrix.default(terms, data = fullmf, contrasts.arg = getContrasts(terms, : 225s non-list contrasts argument ignored 225s > fm1 <- clm(rating ~ temp, contrasts=contr, data=wine) 225s Warning messages: 225s 1: variable 'contact' is absent: its contrasts will be ignored 225s 2: In model.matrix.default(terms, data = fullmf, contrasts.arg = getContrasts(terms, : 225s non-list contrasts argument ignored 225s > fm1 <- clm(rating ~ 1, scale=~contact, contrasts=c(temp="contr.sum"), 225s + data=wine) 225s Warning messages: 225s 1: variable 'contact' is absent: its contrasts will be ignored 225s 2: In model.matrix.default(terms, data = fullmf, contrasts.arg = getContrasts(terms, : 225s non-list contrasts argument ignored 225s > fm1 <- clm(rating ~ 1, scale=~contact, contrasts=list(temp="contr.sum"), 225s + data=wine) 225s Warning messages: 225s 1: variable 'temp' is absent: its contrasts will be ignored 225s 2: In model.matrix.default(terms, data = fullmf, contrasts.arg = getContrasts(terms, : 225s non-list contrasts argument ignored 225s 3: In model.matrix.default(terms, data = fullmf, contrasts.arg = getContrasts(terms, : 225s non-list contrasts argument ignored 225s > 225s > fm0 <- clm(rating ~ temp + contact, scale=~contact, data=wine) 225s Warning message: 225s variable 'temp' is absent: its contrasts will be ignored 225s Warning message: 225s variable 'temp' is absent: its contrasts will be ignored 225s > ordinal:::checkContrasts(fm0$S.terms, fm0$contrasts) 225s > ordinal:::checkContrasts(fm0$S.terms, fm0$S.contrasts) 225s > ordinal:::checkContrasts(fm0$terms, fm0$contrasts) 225s > ordinal:::checkContrasts(fm0$terms, fm0$S.contrasts) 225s > 225s > ################################# 225s > ## Check that clm and model.matrix respects contrast settings: 225s > options("contrasts" = c("contr.treatment", "contr.poly")) 225s > fm0 <- clm(rating ~ temp + contact, data=wine) 225s > options("contrasts" = c("contr.sum", "contr.poly")) 225s > fm1 <- clm(rating ~ temp + contact, data=wine) 225s > stopifnot(all(model.matrix(fm0)$X[, 2] %in% c(0, 1))) 225s > stopifnot(all(model.matrix(fm1)$X[, 2] %in% c(1, -1))) 225s > 225s > ################################# 225s > ## Check that model.matrix results do not depend on global contrast 225s > ## setting: 225s > options("contrasts" = c("contr.sum", "contr.poly")) 225s > fm0 <- clm(rating ~ temp + contact, scale=~contact, data=wine) 225s > MM <- model.matrix(fm0) 225s > options("contrasts" = c("contr.treatment", "contr.poly")) 225s > MM2 <- model.matrix(fm0) 225s > for(x in MM) print(head(x)) 225s (Intercept) temp1 contact1 225s 1 1 1 1 225s 2 1 1 1 225s 3 1 1 -1 225s 4 1 1 -1 225s 5 1 -1 1 225s 6 1 -1 1 225s (Intercept) contact1 225s 1 1 1 225s 2 1 1 225s 3 1 -1 225s 4 1 -1 225s 5 1 1 225s 6 1 1 225s > for(x in MM2) print(head(x)) 225s (Intercept) temp1 contact1 225s 1 1 1 1 225s 2 1 1 1 225s 3 1 1 -1 225s 4 1 1 -1 225s 5 1 -1 1 225s 6 1 -1 1 225s (Intercept) contact1 225s 1 1 1 225s 2 1 1 225s 3 1 -1 225s 4 1 -1 225s 5 1 1 225s 6 1 1 225s > stopifnot(all(mapply(all.equal, MM, MM2))) 225s > 225s > ################################# 225s > ## This gave a warning before getContrasts was implemented: 225s > fm0 <- clm(rating ~ temp + contact, scale=~contact, data=wine) 225s > MM <- model.matrix(fm0) 225s > ## > fm0 <- clm(rating ~ temp + contact, scale=~contact, data=wine) 225s > ## > MM <- model.matrix(fm0) 225s > ## Warning message: 225s > ## In model.matrix.default(res$S.terms, data = fullmf, contrasts.arg = getContrasts(res$S.terms, : 225s > ## variable 'temp' is absent, its contrast will be ignored 225s > for(x in MM) print(head(x)) 225s (Intercept) tempwarm contactyes 225s 1 1 0 0 225s 2 1 0 0 225s 3 1 0 1 225s 4 1 0 1 225s 5 1 1 0 225s 6 1 1 0 225s (Intercept) contactyes 225s 1 1 0 225s 2 1 0 225s 3 1 1 225s 4 1 1 225s 5 1 0 225s 6 1 0 225s > 225s > 225s BEGIN TEST test.clm.predict.R 225s 225s R version 4.4.3 (2025-02-28) -- "Trophy Case" 225s Copyright (C) 2025 The R Foundation for Statistical Computing 225s Platform: aarch64-unknown-linux-gnu 225s 225s R is free software and comes with ABSOLUTELY NO WARRANTY. 225s You are welcome to redistribute it under certain conditions. 225s Type 'license()' or 'licence()' for distribution details. 225s 225s R is a collaborative project with many contributors. 225s Type 'contributors()' for more information and 225s 'citation()' on how to cite R or R packages in publications. 225s 225s Type 'demo()' for some demos, 'help()' for on-line help, or 225s 'help.start()' for an HTML browser interface to help. 225s Type 'q()' to quit R. 225s 225s > library(ordinal) 226s > ## source("test.clm.predict.R") 226s > 226s > ## library(devtools) 226s > ## r2path <- "/Users/rhbc/Documents/Rpackages/ordinal/pkg/ordinal" 226s > ## clean_dll(pkg = r2path) 226s > ## load_all(r2path) 226s > 226s > cy <- with(wine, which(temp == "cold" & contact == "yes")) 226s > options("contrasts" = c("contr.treatment", "contr.poly")) 226s > getOption("contrasts") 226s [1] "contr.treatment" "contr.poly" 226s > 226s > ## Example model 226s > 226s > wine1.clm <- clm(rating ~ temp*contact, subset = -cy, data = wine) 226s > summary(wine1.clm) 226s formula: rating ~ temp * contact 226s data: wine 226s subset: -cy 226s 226s link threshold nobs logLik AIC niter max.grad cond.H 226s logit flexible 54 -65.47 142.93 6(0) 2.80e-12 2.9e+01 226s 226s Coefficients: (1 not defined because of singularities) 226s Estimate Std. Error z value Pr(>|z|) 226s tempwarm 2.2892 0.7192 3.183 0.00146 ** 226s contactyes 1.6505 0.6698 2.464 0.01374 * 226s tempwarm:contactyes NA NA NA NA 226s --- 226s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 226s 226s Threshold coefficients: 226s Estimate Std. Error z value 226s 1|2 -1.3971 0.5728 -2.439 226s 2|3 1.1349 0.5262 2.157 226s 3|4 3.3351 0.6987 4.774 226s 4|5 4.7924 0.7996 5.994 226s > names(wine1.clm) 226s [1] "aliased" "alpha" "beta" "call" 226s [5] "coefficients" "cond.H" "contrasts" "control" 226s [9] "convergence" "df.residual" "edf" "fitted.values" 226s [13] "formula" "formulas" "gradient" "Hessian" 226s [17] "info" "link" "logLik" "maxGradient" 226s [21] "message" "model" "n" "niter" 226s [25] "nobs" "start" "terms" "Theta" 226s [29] "threshold" "tJac" "vcov" "xlevels" 226s [33] "y" "y.levels" 226s > 226s > wine.clm <- clm(rating~temp*contact, data=wine) 226s > summary(wine.clm) 226s formula: rating ~ temp * contact 226s data: wine 226s 226s link threshold nobs logLik AIC niter max.grad cond.H 226s logit flexible 72 -86.42 186.83 6(0) 5.22e-12 5.1e+01 226s 226s Coefficients: 226s Estimate Std. Error z value Pr(>|z|) 226s tempwarm 2.3212 0.7009 3.311 0.000928 *** 226s contactyes 1.3475 0.6604 2.041 0.041300 * 226s tempwarm:contactyes 0.3595 0.9238 0.389 0.697129 226s --- 226s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 226s 226s Threshold coefficients: 226s Estimate Std. Error z value 226s 1|2 -1.4113 0.5454 -2.588 226s 2|3 1.1436 0.5097 2.244 226s 3|4 3.3771 0.6382 5.292 226s 4|5 4.9420 0.7509 6.581 226s > names(wine.clm) 226s [1] "aliased" "alpha" "beta" "call" 226s [5] "coefficients" "cond.H" "contrasts" "control" 226s [9] "convergence" "df.residual" "edf" "fitted.values" 226s [13] "formula" "formulas" "gradient" "Hessian" 226s [17] "info" "link" "logLik" "maxGradient" 226s [21] "message" "model" "n" "niter" 226s [25] "nobs" "start" "terms" "Theta" 226s [29] "threshold" "tJac" "vcov" "xlevels" 226s [33] "y" "y.levels" 226s > ## Make sure the same elements are present with a rank deficient model 226s > ## fit: 226s > stopifnot(all(names(wine1.clm) == names(wine.clm))) 226s > 226s > ## With treatment contrasts: 226s > options("contrasts" = c("contr.treatment", "contr.poly")) 226s > wine.clm <- clm(rating~temp*contact, data=wine) 226s > coef(summary(wine.clm)) 226s Estimate Std. Error z value Pr(>|z|) 226s 1|2 -1.4112620 0.5453532 -2.5877943 9.659266e-03 226s 2|3 1.1435537 0.5096555 2.2437776 2.484671e-02 226s 3|4 3.3770825 0.6381617 5.2918913 1.210578e-07 226s 4|5 4.9419823 0.7509113 6.5813133 4.663108e-11 226s tempwarm 2.3211843 0.7009479 3.3114931 9.279953e-04 226s contactyes 1.3474604 0.6603557 2.0405072 4.129984e-02 226s tempwarm:contactyes 0.3595489 0.9238188 0.3891985 6.971293e-01 226s > head(model.matrix(wine.clm)$X) 226s (Intercept) tempwarm contactyes tempwarm:contactyes 226s 1 1 0 0 0 226s 2 1 0 0 0 226s 3 1 0 1 0 226s 4 1 0 1 0 226s 5 1 1 0 0 226s 6 1 1 0 0 226s > wine.clm$contrasts 226s $temp 226s [1] "contr.treatment" 226s 226s $contact 226s [1] "contr.treatment" 226s 226s > head(pred1 <- predict(wine.clm)$fit) 226s [1] 0.56229641 0.20864908 0.43467309 0.08938852 0.19028226 0.19028226 226s > 226s > ## With sum contrasts: 226s > options("contrasts" = c("contr.sum", "contr.poly")) 226s > wine.clm <- clm(rating~temp*contact, data=wine) 226s > coef(summary(wine.clm)) 226s Estimate Std. Error z value Pr(>|z|) 226s 1|2 -3.33547153 0.5253364 -6.3492103 2.164231e-10 226s 2|3 -0.78065590 0.2945538 -2.6503003 8.042025e-03 226s 3|4 1.45287292 0.3367529 4.3143590 1.600667e-05 226s 4|5 3.01777269 0.4813097 6.2699186 3.612370e-10 226s temp1 -1.25047935 0.2641023 -4.7348292 2.192396e-06 226s contact1 -0.76361743 0.2380971 -3.2071683 1.340485e-03 226s temp1:contact1 0.08988722 0.2309547 0.3891985 6.971293e-01 226s > head(model.matrix(wine.clm)$X) 226s (Intercept) temp1 contact1 temp1:contact1 226s 1 1 1 1 1 226s 2 1 1 1 1 226s 3 1 1 -1 -1 226s 4 1 1 -1 -1 226s 5 1 -1 1 -1 226s 6 1 -1 1 -1 226s > wine.clm$contrasts 226s $temp 226s [1] "contr.sum" 226s 226s $contact 226s [1] "contr.sum" 226s 226s > head(pred2 <- predict(wine.clm)$fit) 226s [1] 0.56229641 0.20864908 0.43467309 0.08938852 0.19028226 0.19028226 226s > 226s > ## Mixture of sum and treatment contrasts: 226s > options("contrasts" = c("contr.treatment", "contr.poly")) 226s > wine.clm <- clm(rating~temp*contact, data=wine, 226s + contrasts=list(temp="contr.sum")) 226s > coef(summary(wine.clm)) 226s Estimate Std. Error z value Pr(>|z|) 226s 1|2 -2.57185410 0.5227165 -4.92016984 8.646915e-07 226s 2|3 -0.01703847 0.3611634 -0.04717662 9.623725e-01 226s 3|4 2.21649036 0.4529312 4.89365773 9.897892e-07 226s 4|5 3.78139013 0.5957919 6.34683010 2.197966e-10 226s temp1 -1.16059213 0.3504740 -3.31149309 9.279953e-04 226s contactyes 1.52723487 0.4761942 3.20716830 1.340485e-03 226s temp1:contactyes -0.17977444 0.4619094 -0.38919847 6.971293e-01 226s > head(model.matrix(wine.clm)$X) 226s (Intercept) temp1 contactyes temp1:contactyes 226s 1 1 1 0 0 226s 2 1 1 0 0 226s 3 1 1 1 1 226s 4 1 1 1 1 226s 5 1 -1 0 0 226s 6 1 -1 0 0 226s > wine.clm$contrasts 226s $temp 226s [1] "contr.sum" 226s 226s $contact 226s [1] "contr.treatment" 226s 226s > head(pred3 <- predict(wine.clm)$fit) 226s [1] 0.56229641 0.20864908 0.43467309 0.08938852 0.19028226 0.19028226 226s > 226s > stopifnot(isTRUE(all.equal(pred1, pred2))) 226s > stopifnot(isTRUE(all.equal(pred1, pred3))) 226s > 226s > ################################# 226s > ### Now for a rank deficient fit: 226s > ################################# 226s > 226s > cy <- with(wine, which(temp == "cold" & contact == "yes")) 226s > options("contrasts" = c("contr.treatment", "contr.poly")) 226s > wine1.clm <- clm(rating ~ temp*contact, subset = -cy, data = wine) 226s > coef(summary(wine1.clm)) 226s Estimate Std. Error z value Pr(>|z|) 226s 1|2 -1.397134 0.5727918 -2.439164 1.472127e-02 226s 2|3 1.134907 0.5261653 2.156940 3.101038e-02 226s 3|4 3.335090 0.6986647 4.773521 1.810331e-06 226s 4|5 4.792428 0.7995580 5.993846 2.049352e-09 226s tempwarm 2.289221 0.7191705 3.183140 1.456870e-03 226s contactyes 1.650538 0.6698484 2.464047 1.373782e-02 226s tempwarm:contactyes NA NA NA NA 226s > attributes(model.matrix(wine1.clm)$X)$contrasts 226s $temp 226s [1] "contr.treatment" 226s 226s $contact 226s [1] "contr.treatment" 226s 226s > wine1.clm$contrasts 226s $temp 226s [1] "contr.treatment" 226s 226s $contact 226s [1] "contr.treatment" 226s 226s > head(pred4 <- predict(wine1.clm)$fit) 226s [1] 0.5584719 0.2088699 0.1843854 0.1843854 0.2988733 0.2988733 226s > 226s > options("contrasts" = c("contr.sum", "contr.poly")) 226s > wine1.clm <- clm(rating ~ temp*contact, subset = -cy, data = wine) 226s > attributes(model.matrix(wine1.clm)$X)$contrasts 226s $temp 226s [1] "contr.sum" 226s 226s $contact 226s [1] "contr.sum" 226s 226s > options("contrasts" = c("contr.treatment", "contr.poly")) 226s > attributes(model.matrix(wine1.clm)$X)$contrasts 226s $temp 226s [1] "contr.sum" 226s 226s $contact 226s [1] "contr.sum" 226s 226s > ## Notice that the contrasts change in the attributes of the fit!!! 226s > coef(summary(wine1.clm)) 226s Estimate Std. Error z value Pr(>|z|) 226s 1|2 -3.3670128 0.6149672 -5.475110 4.372411e-08 226s 2|3 -0.8349725 0.4231096 -1.973419 4.844787e-02 226s 3|4 1.3652108 0.4310181 3.167409 1.538037e-03 226s 4|5 2.8225483 0.5190089 5.438343 5.377826e-08 226s temp1 -1.1446104 0.3595853 -3.183140 1.456870e-03 226s contact1 -0.8252689 0.3349242 -2.464047 1.373782e-02 226s temp1:contact1 NA NA NA NA 226s > wine1.clm$contrasts 226s $temp 226s [1] "contr.sum" 226s 226s $contact 226s [1] "contr.sum" 226s 226s > head(pred5 <- predict(wine1.clm)$fit) 226s [1] 0.5584719 0.2088699 0.1843854 0.1843854 0.2988733 0.2988733 226s > 226s > head(cbind(pred4, pred5)) 226s pred4 pred5 226s [1,] 0.5584719 0.5584719 226s [2,] 0.2088699 0.2088699 226s [3,] 0.1843854 0.1843854 226s [4,] 0.1843854 0.1843854 226s [5,] 0.2988733 0.2988733 226s [6,] 0.2988733 0.2988733 226s > stopifnot(isTRUE(all.equal(pred4, pred5))) 226s > 226s > options("contrasts" = c("contr.treatment", "contr.poly")) 226s > wine1.clm <- clm(rating ~ temp*contact, subset = -cy, data = wine, 226s + contrasts=list(temp="contr.sum")) 226s > coef(summary(wine1.clm)) 226s Estimate Std. Error z value Pr(>|z|) 226s 1|2 -2.54174387 0.5792622 -4.38789851 1.144512e-05 226s 2|3 -0.00970353 0.3737929 -0.02595964 9.792895e-01 226s 3|4 2.19047975 0.4965589 4.41131906 1.027428e-05 226s 4|5 3.64781729 0.6257007 5.82997171 5.543677e-09 226s temp1 -1.14461036 0.3595853 -3.18314035 1.456870e-03 226s contactyes 1.65053789 0.6698484 2.46404685 1.373782e-02 226s temp1:contactyes NA NA NA NA 226s > head(model.matrix(wine1.clm)$X) 226s (Intercept) temp1 contactyes temp1:contactyes 226s 1 1 1 0 0 226s 2 1 1 0 0 226s 5 1 -1 0 0 226s 6 1 -1 0 0 226s 7 1 -1 1 -1 226s 8 1 -1 1 -1 226s > attributes(model.matrix(wine1.clm)$X)$contrasts 226s $temp 226s [1] "contr.sum" 226s 226s $contact 226s [1] "contr.treatment" 226s 226s > wine1.clm$contrasts 226s $temp 226s [1] "contr.sum" 226s 226s $contact 226s [1] "contr.treatment" 226s 226s > head(pred6 <- predict(wine1.clm)$fit) 226s [1] 0.5584719 0.2088699 0.1843854 0.1843854 0.2988733 0.2988733 226s > 226s > head(cbind(pred4, pred5, pred6)) 226s pred4 pred5 pred6 226s [1,] 0.5584719 0.5584719 0.5584719 226s [2,] 0.2088699 0.2088699 0.2088699 226s [3,] 0.1843854 0.1843854 0.1843854 226s [4,] 0.1843854 0.1843854 0.1843854 226s [5,] 0.2988733 0.2988733 0.2988733 226s [6,] 0.2988733 0.2988733 0.2988733 226s > stopifnot(isTRUE(all.equal(pred4, pred6))) 226s > ################################################################## 226s > 226s > ## Compare equality of fitted values for models with different contrasts: 226s > options("contrasts" = c("contr.treatment", "contr.poly")) 226s > fm1 <- clm(rating ~ temp + contact, data=wine) 226s > fitted(fm1) 226s [1] 0.57064970 0.19229094 0.44305990 0.09582084 0.20049402 0.20049402 226s [7] 0.27378469 0.27378469 0.20679013 0.57064970 0.05354601 0.44305990 226s [13] 0.20141572 0.50157554 0.27378469 0.36359581 0.57064970 0.19229094 226s [19] 0.44305990 0.37764614 0.07562701 0.07562701 0.36359581 0.36359581 226s [25] 0.19229094 0.57064970 0.44305990 0.37764614 0.50157554 0.20141572 226s [31] 0.27378469 0.30420994 0.57064970 0.19229094 0.09582084 0.44305990 226s [37] 0.50157554 0.50157554 0.30420994 0.30420994 0.19229094 0.57064970 226s [43] 0.44305990 0.37764614 0.20141572 0.20049402 0.27378469 0.36359581 226s [49] 0.20679013 0.20679013 0.37764614 0.37764614 0.20141572 0.50157554 226s [55] 0.05380128 0.30420994 0.57064970 0.57064970 0.37764614 0.44305990 226s [61] 0.50157554 0.50157554 0.30420994 0.36359581 0.20679013 0.57064970 226s [67] 0.44305990 0.37764614 0.50157554 0.20141572 0.36359581 0.36359581 226s > options("contrasts" = c("contr.sum", "contr.poly")) 226s > fm2 <- clm(rating ~ temp + contact, data=wine) 226s > fitted(fm2) 226s [1] 0.57064970 0.19229094 0.44305990 0.09582084 0.20049402 0.20049402 226s [7] 0.27378469 0.27378469 0.20679013 0.57064970 0.05354601 0.44305990 226s [13] 0.20141572 0.50157554 0.27378469 0.36359581 0.57064970 0.19229094 226s [19] 0.44305990 0.37764614 0.07562701 0.07562701 0.36359581 0.36359581 226s [25] 0.19229094 0.57064970 0.44305990 0.37764614 0.50157554 0.20141572 226s [31] 0.27378469 0.30420994 0.57064970 0.19229094 0.09582084 0.44305990 226s [37] 0.50157554 0.50157554 0.30420994 0.30420994 0.19229094 0.57064970 226s [43] 0.44305990 0.37764614 0.20141572 0.20049402 0.27378469 0.36359581 226s [49] 0.20679013 0.20679013 0.37764614 0.37764614 0.20141572 0.50157554 226s [55] 0.05380128 0.30420994 0.57064970 0.57064970 0.37764614 0.44305990 226s [61] 0.50157554 0.50157554 0.30420994 0.36359581 0.20679013 0.57064970 226s [67] 0.44305990 0.37764614 0.50157554 0.20141572 0.36359581 0.36359581 226s > options("contrasts" = c("contr.treatment", "contr.poly")) 226s > fm3 <- clm(rating ~ temp + contact, data=wine, 226s + contrasts=list(contact="contr.sum")) 226s > fitted(fm3) 226s [1] 0.57064970 0.19229094 0.44305990 0.09582084 0.20049402 0.20049402 226s [7] 0.27378469 0.27378469 0.20679013 0.57064970 0.05354601 0.44305990 226s [13] 0.20141572 0.50157554 0.27378469 0.36359581 0.57064970 0.19229094 226s [19] 0.44305990 0.37764614 0.07562701 0.07562701 0.36359581 0.36359581 226s [25] 0.19229094 0.57064970 0.44305990 0.37764614 0.50157554 0.20141572 226s [31] 0.27378469 0.30420994 0.57064970 0.19229094 0.09582084 0.44305990 226s [37] 0.50157554 0.50157554 0.30420994 0.30420994 0.19229094 0.57064970 226s [43] 0.44305990 0.37764614 0.20141572 0.20049402 0.27378469 0.36359581 226s [49] 0.20679013 0.20679013 0.37764614 0.37764614 0.20141572 0.50157554 226s [55] 0.05380128 0.30420994 0.57064970 0.57064970 0.37764614 0.44305990 226s [61] 0.50157554 0.50157554 0.30420994 0.36359581 0.20679013 0.57064970 226s [67] 0.44305990 0.37764614 0.50157554 0.20141572 0.36359581 0.36359581 226s > stopifnot(isTRUE(all.equal(fitted(fm1), fitted(fm2)))) 226s > stopifnot(isTRUE(all.equal(fitted(fm1), fitted(fm3)))) 226s > 226s > ################################################################## 226s > ## Compare equality of fitted values for models with different 226s > ## contrasts in face of aliased coefficients: 226s > options("contrasts" = c("contr.treatment", "contr.poly")) 226s > cy <- with(wine, which(temp == "cold" & contact == "yes")) 226s > Wine <- subset(wine, subset=!(temp == "cold" & contact == "yes")) 226s > fm1 <- clm(rating ~ temp + contact, data=Wine) 226s > options("contrasts" = c("contr.sum", "contr.poly")) 226s > fm2 <- clm(rating ~ temp + contact, data=Wine) 226s > options("contrasts" = c("contr.treatment", "contr.poly")) 226s > fm3 <- clm(rating ~ temp + contact, data=Wine, 226s + contrasts=list(contact="contr.sum")) 226s > 226s > stopifnot(isTRUE(all.equal(fitted(fm1), fitted(fm2)))) 226s > stopifnot(isTRUE(all.equal(fitted(fm1), fitted(fm3)))) 226s > stopifnot(isTRUE(all.equal(predict(fm1)$fit, predict(fm2)$fit))) 226s > stopifnot(isTRUE(all.equal(predict(fm1)$fit, predict(fm3)$fit))) 226s > 226s > ################################# 226s > ## Does this also happen if the wine data has changed? 226s > options("contrasts" = c("contr.treatment", "contr.poly")) 226s > Wine <- subset(wine, subset=!(temp == "cold" & contact == "yes")) 226s > fm1 <- clm(rating ~ temp + contact, data=Wine) 226s > fit1 <- fitted(fm1) 226s > pred1 <- predict(fm1)$fit 226s > Wine <- wine 226s > pred2 <- predict(fm1)$fit 226s > stopifnot(isTRUE(all.equal(fit1, pred1))) 226s > stopifnot(isTRUE(all.equal(fit1, pred2))) 226s > 226s > ## What if weights, say, is an expression? 226s > ## Notice that updating the model object changes it: 226s > set.seed(123) 226s > fm1 <- clm(rating ~ temp + contact, data=wine, 226s + weights=runif(nrow(wine), .5, 1.5)) 226s > fm2 <- update(fm1) 226s > stopifnot(isTRUE(all.equal(fitted(fm1), predict(fm1)$fit))) 226s > stopifnot(!isTRUE(all.equal(fitted(fm1), fitted(fm2)))) 226s > 226s > ################################# 226s > ## Test equality of fits and predictions of models with: 226s > ## 'x + I(x^2)' and 'poly(x, 2)': 226s > ## December 25th 2014, RHBC. 226s > data(wine) 226s > set.seed(1) 226s > x <- rnorm(nrow(wine), sd=2) + as.numeric(wine$rating) 226s > range(x) 226s [1] -1.429400 7.803236 226s > 226s > ## Comparison of 'x + I(x^2)' and 'poly(x, 2)': 226s > fm3 <- clm(rating ~ temp + x + I(x^2), data=wine) 226s > fm4 <- clm(rating ~ temp + poly(x, 2), data=wine) 226s > ## Same model fits, but different parameterizations: 226s > stopifnot( 226s + !isTRUE(all.equal(coef(fm3), coef(fm4), check.names=FALSE)) 226s + ) 226s > stopifnot(isTRUE(all.equal(logLik(fm3), logLik(fm4)))) 226s > newData <- expand.grid(temp = levels(wine$temp), 226s + x=seq(-1, 7, 3)) 226s > predict(fm3, newdata=newData)$fit 226s 1 2 3 4 5 226s 1 0.206057293 0.56152859 0.2029812 0.0245885 0.004844463 226s 2 0.036289668 0.28766182 0.5031703 0.1404155 0.032462707 226s 3 0.147105364 0.53988789 0.2693657 0.0363691 0.007271946 226s 4 0.024413857 0.21711772 0.5192073 0.1912002 0.048060899 226s 5 0.035397238 0.28292433 0.5050762 0.1433185 0.033283705 226s 6 0.005296054 0.05815716 0.3400568 0.4047024 0.191787585 226s > predict(fm4, newdata=newData)$fit 226s 1 2 3 4 5 226s 1 0.206057293 0.56152859 0.2029812 0.0245885 0.004844463 226s 2 0.036289668 0.28766182 0.5031703 0.1404155 0.032462707 226s 3 0.147105364 0.53988789 0.2693657 0.0363691 0.007271946 226s 4 0.024413857 0.21711772 0.5192073 0.1912002 0.048060899 226s 5 0.035397238 0.28292433 0.5050762 0.1433185 0.033283705 226s 6 0.005296054 0.05815716 0.3400568 0.4047024 0.191787585 226s > stopifnot(isTRUE(all.equal(fitted(fm3), fitted(fm4)))) 226s > stopifnot(isTRUE( 226s + all.equal(predict(fm3, newdata=newData)$fit, 226s + predict(fm4, newdata=newData)$fit))) 226s > ################################# 226s > 226s BEGIN TEST test.clm.profile.R 227s 227s R version 4.4.3 (2025-02-28) -- "Trophy Case" 227s Copyright (C) 2025 The R Foundation for Statistical Computing 227s Platform: aarch64-unknown-linux-gnu 227s 227s R is free software and comes with ABSOLUTELY NO WARRANTY. 227s You are welcome to redistribute it under certain conditions. 227s Type 'license()' or 'licence()' for distribution details. 227s 227s R is a collaborative project with many contributors. 227s Type 'contributors()' for more information and 227s 'citation()' on how to cite R or R packages in publications. 227s 227s Type 'demo()' for some demos, 'help()' for on-line help, or 227s 'help.start()' for an HTML browser interface to help. 227s Type 'q()' to quit R. 227s 227s > library(ordinal) 228s > 228s > ## Testing that the profile remains the same - that the model object 228s > ## is not 'distorted' by update(object/fitted, doFit=FALSE) 228s > set.seed(1234) 228s > wts <- runif(nrow(wine), 0, 2) 228s > fm3 <- clm(rating ~ temp + contact, data=wine, 228s + weights=wts) 228s > pr <- profile(fm3) 228s > 228s > set.seed(1234) 228s > fm3 <- clm(rating ~ temp + contact, data=wine, 228s + weights=runif(nrow(wine), 0, 2)) 228s > pr3 <- profile(fm3) 228s > ## > set.seed(1234) 228s > ## > fm3 <- clm(rating ~ temp + contact, data=wine, 228s > ## + weights=runif(nrow(wine), 0, 2)) 228s > ## > pr3 <- profile(fm3) 228s > ## Warning messages: 228s > ## 1: In profile.clm.beta(fitted, which.beta, alpha, max.steps, nsteps, : 228s > ## profile may be unreliable for tempwarm because only 1 228s > ## steps were taken down 228s > ## 2: In profile.clm.beta(fitted, which.beta, alpha, max.steps, nsteps, : 228s > ## profile may be unreliable for tempwarm because only 1 228s > ## steps were taken up 228s > ## 3: In profile.clm.beta(fitted, which.beta, alpha, max.steps, nsteps, : 228s > ## profile may be unreliable for contactyes because only 1 228s > ## steps were taken down 228s > ## 4: In profile.clm.beta(fitted, which.beta, alpha, max.steps, nsteps, : 228s > ## profile may be unreliable for contactyes because only 1 228s > ## steps were taken up 228s > ## 228s > stopifnot(isTRUE(all.equal(pr, pr3, check.attributes=FALSE))) 228s > stopifnot( 228s + isTRUE(all.equal(pr$tempwarm[, "lroot"], pr3$tempwarm[, "lroot"])), 228s + isTRUE(all.equal(pr$contactyes[, "lroot"], pr3$contactyes[, "lroot"]))) 228s > 228s BEGIN TEST test.clm.single.anova.R 228s 228s R version 4.4.3 (2025-02-28) -- "Trophy Case" 228s Copyright (C) 2025 The R Foundation for Statistical Computing 228s Platform: aarch64-unknown-linux-gnu 228s 228s R is free software and comes with ABSOLUTELY NO WARRANTY. 228s You are welcome to redistribute it under certain conditions. 228s Type 'license()' or 'licence()' for distribution details. 228s 228s R is a collaborative project with many contributors. 228s Type 'contributors()' for more information and 228s 'citation()' on how to cite R or R packages in publications. 228s 228s Type 'demo()' for some demos, 'help()' for on-line help, or 228s 'help.start()' for an HTML browser interface to help. 228s Type 'q()' to quit R. 228s 228s > # test.clm.single.anova.R 228s > 228s > library(ordinal) 229s > 229s > # WRE says "using if(requireNamespace("pkgname")) is preferred, if possible." 229s > # even in tests: 229s > assertError <- function(expr, ...) 229s + if(requireNamespace("tools")) tools::assertError(expr, ...) else invisible() 229s > assertWarning <- function(expr, ...) 229s + if(requireNamespace("tools")) tools::assertWarning(expr, ...) else invisible() 229s > 229s > fm <- clm(rating ~ temp * contact, scale=~contact, data=wine) 229s > 229s > anova(fm, type="I") 229s Type I Analysis of Deviance Table with Wald chi-square tests 229s 229s Df Chisq Pr(>Chisq) 229s temp 1 17.1046 3.538e-05 *** 229s contact 1 9.1574 0.002477 ** 229s temp:contact 1 0.1097 0.740512 229s --- 229s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 229s > anova(fm, type="II") 229s Type II Analysis of Deviance Table with Wald chi-square tests 229s 229s Df Chisq Pr(>Chisq) 229s temp 1 17.1046 3.538e-05 *** 229s contact 1 9.1574 0.002477 ** 229s temp:contact 1 0.1097 0.740512 229s --- 229s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 229s > anova(fm, type="III") 229s Type III Analysis of Deviance Table with Wald chi-square tests 229s 229s Df Chisq Pr(>Chisq) 229s temp 1 9.5681 0.00198 ** 229s contact 1 4.1830 0.04083 * 229s temp:contact 1 0.1097 0.74051 229s --- 229s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 229s > anova(fm, type=1) 229s Type I Analysis of Deviance Table with Wald chi-square tests 229s 229s Df Chisq Pr(>Chisq) 229s temp 1 17.1046 3.538e-05 *** 229s contact 1 9.1574 0.002477 ** 229s temp:contact 1 0.1097 0.740512 229s --- 229s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 229s > anova(fm, type=2) 229s Type II Analysis of Deviance Table with Wald chi-square tests 229s 229s Df Chisq Pr(>Chisq) 229s temp 1 17.1046 3.538e-05 *** 229s contact 1 9.1574 0.002477 ** 229s temp:contact 1 0.1097 0.740512 229s --- 229s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 229s > anova(fm, type=3) 229s Type III Analysis of Deviance Table with Wald chi-square tests 229s 229s Df Chisq Pr(>Chisq) 229s temp 1 9.5681 0.00198 ** 229s contact 1 4.1830 0.04083 * 229s temp:contact 1 0.1097 0.74051 229s --- 229s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 229s > anova(fm, type="1") 229s Type I Analysis of Deviance Table with Wald chi-square tests 229s 229s Df Chisq Pr(>Chisq) 229s temp 1 17.1046 3.538e-05 *** 229s contact 1 9.1574 0.002477 ** 229s temp:contact 1 0.1097 0.740512 229s --- 229s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 229s > anova(fm, type="2") 229s Type II Analysis of Deviance Table with Wald chi-square tests 229s 229s Df Chisq Pr(>Chisq) 229s temp 1 17.1046 3.538e-05 *** 229s contact 1 9.1574 0.002477 ** 229s temp:contact 1 0.1097 0.740512 229s --- 229s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 229s > anova(fm, type="3") 229s Type III Analysis of Deviance Table with Wald chi-square tests 229s 229s Df Chisq Pr(>Chisq) 229s temp 1 9.5681 0.00198 ** 229s contact 1 4.1830 0.04083 * 229s temp:contact 1 0.1097 0.74051 229s --- 229s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 229s > anova(fm, type="marginal") 229s Marginal Analysis of Deviance Table with Wald chi-square tests 229s 229s Df Chisq Pr(>Chisq) 229s temp 1 9.5681 0.00198 ** 229s contact 1 4.1830 0.04083 * 229s temp:contact 1 0.1097 0.74051 229s --- 229s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 229s > 229s > # Nominal effects: 229s > fm <- clm(rating ~ temp, nominal=~contact, data=wine) 229s > anova(fm) 229s Type I Analysis of Deviance Table with Wald chi-square tests 229s 229s Df Chisq Pr(>Chisq) 229s temp 1 22.166 2.501e-06 *** 229s --- 229s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 229s > 229s > # Flexible links: 229s > fm1 <- clm(rating ~ temp + contact, link="log-gamma", data=wine) 229s Changing to 'nlminb' optimizer for flexible link function 229s > anova(fm1, type=1) 229s Type I Analysis of Deviance Table with Wald chi-square tests 229s 229s Df Chisq Pr(>Chisq) 229s temp 1 26.150 3.16e-07 *** 229s contact 1 10.369 0.001282 ** 229s --- 229s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 229s > anova(fm1, type=2) 229s Warning message: 229s (-1) Model failed to converge with max|grad| = 9.92664e-05 (tol = 1e-06) 229s Type II Analysis of Deviance Table with Wald chi-square tests 229s 229s Df Chisq Pr(>Chisq) 229s temp 1 26.150 3.16e-07 *** 229s contact 1 10.369 0.001282 ** 229s --- 229s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 229s > anova(fm1, type=3) 229s Type III Analysis of Deviance Table with Wald chi-square tests 229s 229s Df Chisq Pr(>Chisq) 229s temp 1 26.150 3.16e-07 *** 229s contact 1 10.369 0.001282 ** 229s --- 229s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 229s > 229s > # Equivalence of tests irrespective of contrasts: 229s > fm1 <- clm(SURENESS ~ PRODID * SOUPFREQ, data=soup) 229s > # summary(fm1) 229s > (an1 <- anova(fm1, type=3)) 229s Type III Analysis of Deviance Table with Wald chi-square tests 229s 229s Df Chisq Pr(>Chisq) 229s PRODID 5 72.5901 2.959e-14 *** 229s SOUPFREQ 2 1.8132 0.4039 229s PRODID:SOUPFREQ 10 8.5837 0.5720 229s --- 229s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 229s > fm2 <- clm(SURENESS ~ PRODID * SOUPFREQ, data=soup, 229s + contrasts = list(SOUPFREQ = "contr.sum", PRODID = "contr.SAS")) 229s > # summary(fm2) 229s > anova(fm1, fm2) 229s Likelihood ratio tests of cumulative link models: 229s 229s formula: link: threshold: 229s fm1 SURENESS ~ PRODID * SOUPFREQ logit flexible 229s fm2 SURENESS ~ PRODID * SOUPFREQ logit flexible 229s 229s no.par AIC logLik LR.stat df Pr(>Chisq) 229s fm1 22 5388 -2672 229s fm2 22 5388 -2672 0 0 229s > (an2 <- anova(fm2, type=3)) 229s Type III Analysis of Deviance Table with Wald chi-square tests 229s 229s Df Chisq Pr(>Chisq) 229s PRODID 5 72.5901 2.959e-14 *** 229s SOUPFREQ 2 1.8132 0.4039 229s PRODID:SOUPFREQ 10 8.5837 0.5720 229s --- 229s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 229s > stopifnot( 229s + isTRUE(all.equal(an1, an2, check.attributes=FALSE)) 229s + ) 229s > 229s > 229s > # Aliased coefficients: 229s > fm1 <- clm(SURENESS ~ PRODID * DAY, data=soup) 229s > anova(fm1, type=1) 229s Type I Analysis of Deviance Table with Wald chi-square tests 229s 229s Df Chisq Pr(>Chisq) 229s PRODID 5 185.2017 < 2e-16 *** 229s DAY 1 4.1131 0.04255 * 229s PRODID:DAY 4 5.1186 0.27534 229s --- 229s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 229s > anova(fm1, type=2) 229s Type II Analysis of Deviance Table with Wald chi-square tests 229s 229s Df Chisq Pr(>Chisq) 229s PRODID 5 181.5967 < 2e-16 *** 229s DAY 1 4.1131 0.04255 * 229s PRODID:DAY 4 5.1186 0.27534 229s --- 229s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 229s > anova(fm1, type=3) 229s Missing cells for: PRODID3:DAY2. 229s Interpret type III hypotheses with care. 229s Type III Analysis of Deviance Table with Wald chi-square tests 229s 229s Df Chisq Pr(>Chisq) 229s PRODID 5 76.3722 4.81e-15 *** 229s DAY 1 10.1485 0.001444 ** 229s PRODID:DAY 4 5.1186 0.275344 229s --- 229s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 229s > 229s > # Aliased term (due to nominal effects): 229s > fm <- clm(rating ~ temp * contact, nominal=~contact, data=wine) 229s > anova(fm, type=1) 229s Type I Analysis of Deviance Table with Wald chi-square tests 229s 229s Df Chisq Pr(>Chisq) 229s temp 1 22.066 2.634e-06 *** 229s contact 229s temp:contact 1 0.250 0.6171 229s --- 229s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 229s > anova(fm, type=2) 229s Type II Analysis of Deviance Table with Wald chi-square tests 229s 229s Df Chisq Pr(>Chisq) 229s temp 1 22.066 2.634e-06 *** 229s contact 229s temp:contact 1 0.250 0.6171 229s --- 229s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 229s > anova(fm, type=3) 229s Type III Analysis of Deviance Table with Wald chi-square tests 229s 229s Df Chisq Pr(>Chisq) 229s temp 1 9.6335 0.001911 ** 229s contact 229s temp:contact 1 0.2500 0.617071 229s --- 229s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 229s > 229s > # model with all NA in vcov(object): 229s > fm <- clm(rating ~ temp * contact, nominal=~contact, scale=~contact, data=wine) 229s > assertError(anova(fm, type=1)) # error 229s Warning message: 229s (1) Hessian is numerically singular: parameters are not uniquely determined 229s In addition: Absolute and relative convergence criteria were met 229s Loading required namespace: tools 229s > assertError(anova(fm, type=2)) # error 229s > assertError(anova(fm, type=3)) # error 229s > all(is.na(vcov(fm))) 229s [1] TRUE 229s > 229s BEGIN TEST test.general.R 229s 229s R version 4.4.3 (2025-02-28) -- "Trophy Case" 229s Copyright (C) 2025 The R Foundation for Statistical Computing 229s Platform: aarch64-unknown-linux-gnu 229s 229s R is free software and comes with ABSOLUTELY NO WARRANTY. 229s You are welcome to redistribute it under certain conditions. 229s Type 'license()' or 'licence()' for distribution details. 229s 229s R is a collaborative project with many contributors. 229s Type 'contributors()' for more information and 229s 'citation()' on how to cite R or R packages in publications. 229s 229s Type 'demo()' for some demos, 'help()' for on-line help, or 229s 'help.start()' for an HTML browser interface to help. 229s Type 'q()' to quit R. 229s 230s > 230s > txt <- citation("ordinal") 230s > stopifnot(as.logical(grep("year", txt))) 230s > 230s BEGIN TEST test.makeThresholds.R 230s 230s R version 4.4.3 (2025-02-28) -- "Trophy Case" 230s Copyright (C) 2025 The R Foundation for Statistical Computing 230s Platform: aarch64-unknown-linux-gnu 230s 230s R is free software and comes with ABSOLUTELY NO WARRANTY. 230s You are welcome to redistribute it under certain conditions. 230s Type 'license()' or 'licence()' for distribution details. 230s 230s R is a collaborative project with many contributors. 230s Type 'contributors()' for more information and 230s 'citation()' on how to cite R or R packages in publications. 230s 230s Type 'demo()' for some demos, 'help()' for on-line help, or 230s 'help.start()' for an HTML browser interface to help. 230s Type 'q()' to quit R. 230s 230s > # test.makeThresholds.R 230s > 230s > library(ordinal) 231s > 231s > # Prvious bug which is now fixed: 231s > res <- ordinal:::makeThresholds(letters[1:3], "symmetric") 231s > stopifnot(length(res$alpha.names) == res$nalpha) 231s > # length(res$alpha.names) used to be 4 231s > 231s > # Real data example: 231s > wine <- within(wine, { 231s + rating_comb3b <- rating 231s + levels(rating_comb3b) <- c("1-2", "1-2", "3", "4-5", "4-5") 231s + }) 231s > wine$rating_comb3b[1] <- "4-5" # Need to remove the zero here to avoid inf MLE 231s > ftable(rating_comb3b ~ temp + contact, data=wine) 231s rating_comb3b 1-2 3 4-5 231s temp contact 231s cold no 12 5 1 231s yes 8 8 2 231s warm no 5 8 5 231s yes 1 5 12 231s > 231s > fm.comb3_c <- clm(rating_comb3b ~ contact, #scale=~contact, 231s + threshold = "symmetric", data=wine) # no error 231s > 231s BEGIN TEST test.sign.R 231s 231s R version 4.4.3 (2025-02-28) -- "Trophy Case" 231s Copyright (C) 2025 The R Foundation for Statistical Computing 231s Platform: aarch64-unknown-linux-gnu 231s 231s R is free software and comes with ABSOLUTELY NO WARRANTY. 231s You are welcome to redistribute it under certain conditions. 231s Type 'license()' or 'licence()' for distribution details. 231s 231s R is a collaborative project with many contributors. 231s Type 'contributors()' for more information and 231s 'citation()' on how to cite R or R packages in publications. 231s 231s Type 'demo()' for some demos, 'help()' for on-line help, or 231s 'help.start()' for an HTML browser interface to help. 231s Type 'q()' to quit R. 231s 231s > # test.sign.R 231s > 231s > # Test the use of sign.location and sign.nominal in clm.control(): 231s > 231s > library(ordinal) 232s > 232s > fm1 <- clm(rating ~ temp + contact, data=wine) 232s > fm2 <- clm(rating ~ temp + contact, data=wine, 232s + sign.location="positive") 232s > # dput(names(fm1)) 232s > keep <- c("aliased", "alpha", "cond.H", 232s + "contrasts", "convergence", "df.residual", "edf", 232s + "fitted.values", "formula", "formulas", "gradient", 232s + "info", "link", "logLik", "maxGradient", "message", "model", 232s + "n", "niter", "nobs", "start", "terms", "Theta", "threshold", 232s + "tJac", "xlevels", "y", "y.levels") 232s > check <- mapply(function(x, y) isTRUE(all.equal(x, y)), fm1[keep], fm2[keep]) 232s > stopifnot(all(check)) 232s > stopifnot(isTRUE(all.equal( 232s + fm1$beta, - fm2$beta 232s + ))) 232s > 232s > fm1 <- clm(rating ~ temp, nominal=~ contact, data=wine) 232s > fm2 <- clm(rating ~ temp, nominal=~ contact, data=wine, 232s + sign.nominal="negative") 232s > keep <- c("aliased", "beta", "cond.H", 232s + "contrasts", "convergence", "df.residual", "edf", 232s + "fitted.values", "formula", "formulas", "gradient", 232s + "info", "link", "logLik", "maxGradient", "message", "model", 232s + "n", "niter", "nobs", "start", "terms", "Theta", "threshold", 232s + "tJac", "xlevels", "y", "y.levels") 232s > # check <- mapply(function(x, y) isTRUE(all.equal(x, y)), fm1, fm2) 232s > check <- mapply(function(x, y) isTRUE(all.equal(x, y)), fm1[keep], fm2[keep]) 232s > stopifnot(all(check)) 232s > stopifnot(isTRUE(all.equal( 232s + fm1$alpha[5:8], -fm2$alpha[5:8] 232s + ))) 232s > 232s > 232s > fm1 <- clm(rating ~ temp, nominal=~ contact, data=wine) 232s > fm2 <- clm(rating ~ temp, nominal=~ contact, data=wine, 232s + sign.nominal="negative", sign.location="positive") 232s > keep <- c("aliased", "cond.H", 232s + "contrasts", "convergence", "df.residual", "edf", 232s + "fitted.values", "formula", "formulas", "gradient", 232s + "info", "link", "logLik", "maxGradient", "message", "model", 232s + "n", "niter", "nobs", "start", "terms", "Theta", "threshold", 232s + "tJac", "xlevels", "y", "y.levels") 232s > # check <- mapply(function(x, y) isTRUE(all.equal(x, y)), fm1, fm2) 232s > check <- mapply(function(x, y) isTRUE(all.equal(x, y)), fm1[keep], fm2[keep]) 232s > stopifnot(all(check)) 232s > stopifnot( 232s + isTRUE(all.equal(fm1$alpha[5:8], -fm2$alpha[5:8])), 232s + isTRUE(all.equal(fm1$beta, -fm2$beta)) 232s + ) 232s > 232s > # Check predict method: 232s > newData <- with(wine, expand.grid(temp=levels(temp), contact=levels(contact))) 232s > (p1 <- predict(fm1, newdata=newData)) 232s $fit 232s 1 2 3 4 5 232s 1 0.210312404 0.56637121 0.1953950 0.0185460 0.009375394 232s 2 0.020998377 0.19781391 0.5182972 0.1577343 0.105156202 232s 3 0.050301839 0.38380275 0.4329644 0.1065821 0.026348960 232s 4 0.004247588 0.05393811 0.2862121 0.4040930 0.251509196 232s 232s > (p2 <- predict(fm2, newdata=newData)) 232s $fit 232s 1 2 3 4 5 232s 1 0.210312404 0.56637121 0.1953950 0.0185460 0.009375394 232s 2 0.020998377 0.19781391 0.5182972 0.1577343 0.105156202 232s 3 0.050301839 0.38380275 0.4329644 0.1065821 0.026348960 232s 4 0.004247588 0.05393811 0.2862121 0.4040930 0.251509196 232s 232s > stopifnot(isTRUE(all.equal(p1, p2))) 232s > 232s > stopifnot(isTRUE( 232s + all.equal(predict(fm1, newdata=wine, se=TRUE, interval=TRUE), 232s + predict(fm2, newdata=wine, se=TRUE, interval=TRUE)) 232s + )) 232s > 232s > # Check profile and confint methods: 232s > confint.default(fm1) 232s 2.5 % 97.5 % 232s 1|2.(Intercept) -2.4250844 -0.2210024 232s 2|3.(Intercept) 0.3158056 2.1770814 232s 3|4.(Intercept) 2.2642614 4.8358258 232s 4|5.(Intercept) 2.9738888 6.3466053 232s 1|2.contactyes -3.8921464 0.6620280 232s 2|3.contactyes -2.6692032 -0.3539315 232s 3|4.contactyes -2.9464535 -0.4030579 232s 4|5.contactyes -2.8077520 0.7065061 232s tempwarm 1.4703720 3.5677176 232s > confint.default(fm2) 232s 2.5 % 97.5 % 232s 1|2.(Intercept) -2.4250844 -0.2210024 232s 2|3.(Intercept) 0.3158056 2.1770814 232s 3|4.(Intercept) 2.2642614 4.8358258 232s 4|5.(Intercept) 2.9738888 6.3466053 232s 1|2.contactyes -0.6620280 3.8921464 232s 2|3.contactyes 0.3539315 2.6692032 232s 3|4.contactyes 0.4030579 2.9464535 232s 4|5.contactyes -0.7065061 2.8077520 232s tempwarm -3.5677176 -1.4703720 232s > 232s > stopifnot( 232s + isTRUE(all.equal(confint(fm1), -confint(fm2)[, 2:1, drop=FALSE], 232s + check.attributes=FALSE)) 232s + ) 232s > 232s > fm1 <- clm(rating ~ temp + contact, data=wine) 232s > fm2 <- clm(rating ~ temp + contact, data=wine, 232s + sign.location="positive") 232s > pr1 <- profile(fm1) 232s > pr2 <- profile(fm2) 232s > stopifnot( 232s + isTRUE(all.equal(confint(fm1), - confint(fm2)[, 2:1], check.attributes=FALSE)) 232s + ) 232s > 232s > 232s BEGIN TEST test0weights.R 233s 233s R version 4.4.3 (2025-02-28) -- "Trophy Case" 233s Copyright (C) 2025 The R Foundation for Statistical Computing 233s Platform: aarch64-unknown-linux-gnu 233s 233s R is free software and comes with ABSOLUTELY NO WARRANTY. 233s You are welcome to redistribute it under certain conditions. 233s Type 'license()' or 'licence()' for distribution details. 233s 233s R is a collaborative project with many contributors. 233s Type 'contributors()' for more information and 233s 'citation()' on how to cite R or R packages in publications. 233s 233s Type 'demo()' for some demos, 'help()' for on-line help, or 233s 'help.start()' for an HTML browser interface to help. 233s Type 'q()' to quit R. 233s 233s > library(ordinal) 234s > options(contrasts = c("contr.treatment", "contr.poly")) 234s > ## library(devtools) 234s > ## r2path <- "/Users/rhbc/Documents/Rpackages/ordinal/pkg/ordinal" 234s > ## clean_dll(pkg = r2path) 234s > ## load_all(r2path) 234s > 234s > ## one zero weight: 234s > data(wine, package="ordinal") 234s > wts <- rep(1, nrow(wine)) 234s > wine$rating 234s [1] 2 3 3 4 4 4 5 5 1 2 1 3 2 3 5 4 2 3 3 2 5 5 4 4 3 2 3 2 3 2 5 3 2 3 4 3 3 3 234s [39] 3 3 3 2 3 2 2 4 5 4 1 1 2 2 2 3 2 3 2 2 2 3 3 3 3 4 1 2 3 2 3 2 4 4 234s Levels: 1 < 2 < 3 < 4 < 5 234s > wts[1] <- 0 234s > fm1 <- clm(rating ~ contact + temp, data=wine, weights=wts) 234s > fm1 234s formula: rating ~ contact + temp 234s data: wine 234s 234s link threshold nobs logLik AIC niter max.grad cond.H 234s logit flexible 71 -85.92 183.84 6(0) 3.44e-12 2.7e+01 234s 234s Coefficients: 234s contactyes tempwarm 234s 1.511 2.482 234s 234s Threshold coefficients: 234s 1|2 2|3 3|4 4|5 234s -1.295 1.220 3.437 4.975 234s > fm1$n ## 72 234s [1] 72 234s > fm1$nobs ## 71 234s [1] 71 234s > confint(fm1) 234s 2.5 % 97.5 % 234s contactyes 0.5951066 2.478924 234s tempwarm 1.4856829 3.577621 234s > plot(profile(fm1)) 234s > plot(slice(fm1), 5) 234s > convergence(fm1) 234s nobs logLik niter max.grad cond.H logLik.Error 234s 71 -85.92 6(0) 3.44e-12 2.7e+01 <1e-10 234s 234s Estimate Std.Err Gradient Error Cor.Dec Sig.Dig 234s 1|2 -1.295 0.5220 7.57e-13 7.84e-14 12 13 234s 2|3 1.220 0.4436 2.65e-12 -1.27e-13 12 13 234s 3|4 3.437 0.6014 -3.44e-12 -7.18e-13 11 12 234s 4|5 4.975 0.7341 -5.44e-14 -7.00e-13 11 12 234s contactyes 1.511 0.4785 1.54e-13 -1.96e-13 12 13 234s tempwarm 2.482 0.5303 -4.01e-13 -4.94e-13 12 13 234s 234s Eigen values of Hessian: 234s 21.7419 18.5476 10.4115 5.2426 4.0755 0.8013 234s 234s Convergence message from clm: 234s (0) successful convergence 234s In addition: Absolute and relative convergence criteria were met 234s 234s > drop1(fm1, test="Chi") 234s Single term deletions 234s 234s Model: 234s rating ~ contact + temp 234s Df AIC LRT Pr(>Chi) 234s 183.84 234s contact 1 192.54 10.698 0.001072 ** 234s temp 1 208.07 26.234 3.024e-07 *** 234s --- 234s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 234s > add1(fm1, scope=~.^2, test="Chi") 234s Single term additions 234s 234s Model: 234s rating ~ contact + temp 234s Df AIC LRT Pr(>Chi) 234s 183.84 234s contact:temp 1 185.66 0.18256 0.6692 234s > ## clm_anova(fm1) 234s > pred <- predict(fm1, newdata=wine) ## OK 234s > step.fm1 <- step(fm1, trace=0) 234s > fitted(fm1) 234s [1] 0.19683278 0.44514183 0.09677403 0.20147980 0.20147980 0.27261558 234s [7] 0.27261558 0.21497073 0.55705124 0.05699435 0.44514183 0.19814731 234s [13] 0.50160837 0.27261558 0.36288756 0.55705124 0.19683278 0.44514183 234s [19] 0.37073110 0.07640020 0.07640020 0.36288756 0.36288756 0.19683278 234s [25] 0.55705124 0.44514183 0.37073110 0.50160837 0.19814731 0.27261558 234s [31] 0.30572865 0.55705124 0.19683278 0.09677403 0.44514183 0.50160837 234s [37] 0.50160837 0.30572865 0.30572865 0.19683278 0.55705124 0.44514183 234s [43] 0.37073110 0.19814731 0.20147980 0.27261558 0.36288756 0.21497073 234s [49] 0.21497073 0.37073110 0.37073110 0.19814731 0.50160837 0.05374460 234s [55] 0.30572865 0.55705124 0.55705124 0.37073110 0.44514183 0.50160837 234s [61] 0.50160837 0.30572865 0.36288756 0.21497073 0.55705124 0.44514183 234s [67] 0.37073110 0.50160837 0.19814731 0.36288756 0.36288756 234s > dim(model.matrix(fm1)$X) 234s [1] 72 3 234s > dim(model.matrix(fm1, "B")$B1) 234s [1] 71 6 234s > mf <- update(fm1, method="model.frame") 234s > str(mf) 234s 'data.frame': 72 obs. of 4 variables: 234s $ rating : Ord.factor w/ 5 levels "1"<"2"<"3"<"4"<..: 2 3 3 4 4 4 5 5 1 2 ... 234s $ contact : Factor w/ 2 levels "no","yes": 1 1 2 2 1 1 2 2 1 1 ... 234s $ temp : Factor w/ 2 levels "cold","warm": 1 1 1 1 2 2 2 2 1 1 ... 234s $ (weights): num 0 1 1 1 1 1 1 1 1 1 ... 234s - attr(*, "terms")=Classes 'terms', 'formula' language rating ~ contact + temp 234s .. ..- attr(*, "variables")= language list(rating, contact, temp) 234s .. ..- attr(*, "factors")= int [1:3, 1:2] 0 1 0 0 0 1 234s .. .. ..- attr(*, "dimnames")=List of 2 234s .. .. .. ..$ : chr [1:3] "rating" "contact" "temp" 234s .. .. .. ..$ : chr [1:2] "contact" "temp" 234s .. ..- attr(*, "term.labels")= chr [1:2] "contact" "temp" 234s .. ..- attr(*, "order")= int [1:2] 1 1 234s .. ..- attr(*, "intercept")= int 1 234s .. ..- attr(*, "response")= int 1 234s .. ..- attr(*, ".Environment")= 234s .. ..- attr(*, "predvars")= language list(rating, contact, temp) 234s .. ..- attr(*, "dataClasses")= Named chr [1:4] "ordered" "factor" "factor" "numeric" 234s .. .. ..- attr(*, "names")= chr [1:4] "rating" "contact" "temp" "(weights)" 234s > wts <- mf$wts 234s > dim(model.matrix(fm1)$X[wts > 0, , drop=FALSE]) 234s [1] 0 3 234s > 234s > fm1b <- clm(rating ~ temp, scale=~contact, data=wine, weights=wts) 234s > summary(fm1b) 234s formula: rating ~ temp 234s scale: ~contact 234s data: wine 234s 234s link threshold nobs logLik AIC niter max.grad cond.H 234s logit flexible 72 -91.92 195.83 8(0) 1.57e-09 5.6e+01 234s 234s Coefficients: 234s Estimate Std. Error z value Pr(>|z|) 234s tempwarm 2.1690 0.5527 3.924 8.69e-05 *** 234s --- 234s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 234s 234s log-scale coefficients: 234s Estimate Std. Error z value Pr(>|z|) 234s contactyes -0.1222 0.2775 -0.44 0.66 234s 234s Threshold coefficients: 234s Estimate Std. Error z value 234s 1|2 -1.8957 0.4756 -3.986 234s 2|3 0.3668 0.3442 1.066 234s 3|4 2.2483 0.5932 3.790 234s 4|5 3.5393 0.8336 4.246 234s > pr <- profile(fm1b) 234s > confint(pr) 234s 2.5 % 97.5 % 234s tempwarm 1.2122036 3.4033767 234s sca.contactyes -0.6721766 0.4156449 234s > plot(pr, 1) 234s > fm1c <- clm(rating ~ temp, nominal=~contact, data=wine, weights=wts) 234s > summary(fm1c) 234s formula: rating ~ temp 234s nominal: ~contact 234s data: wine 234s 234s link threshold nobs logLik AIC niter max.grad cond.H 234s logit flexible 72 -86.21 190.42 6(0) 1.64e-10 4.8e+01 234s 234s Coefficients: 234s Estimate Std. Error z value Pr(>|z|) 234s tempwarm 2.519 0.535 4.708 2.5e-06 *** 234s --- 234s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 234s 234s Threshold coefficients: 234s Estimate Std. Error z value 234s 1|2.(Intercept) -1.3230 0.5623 -2.353 234s 2|3.(Intercept) 1.2464 0.4748 2.625 234s 3|4.(Intercept) 3.5500 0.6560 5.411 234s 4|5.(Intercept) 4.6602 0.8604 5.416 234s 1|2.contactyes -1.6151 1.1618 -1.390 234s 2|3.contactyes -1.5116 0.5906 -2.559 234s 3|4.contactyes -1.6748 0.6488 -2.581 234s 4|5.contactyes -1.0506 0.8965 -1.172 234s > pr <- profile(fm1c) 234s > confint(pr) 234s 2.5 % 97.5 % 234s tempwarm 1.516862 3.629098 234s > plot(pr, 1) 234s > 234s > ## nominal.test(fm1) 234s > ## scale.test(fm1) 234s > 234s > ## zero out an entire response category: 234s > wts2 <- 1 * with(wine, rating != "2") 234s > fm2 <- clm(rating ~ contact + temp, data=wine, weights=wts2) 234s > fm2 234s formula: rating ~ contact + temp 234s data: wine 234s 234s link threshold nobs logLik AIC niter max.grad cond.H 234s logit flexible 50 -46.76 103.52 7(0) 3.55e-13 4.2e+01 234s 234s Coefficients: 234s contactyes tempwarm 234s 1.593 3.062 234s 234s Threshold coefficients: 234s 1|3 3|4 4|5 234s -0.5173 3.6238 5.3657 234s > fm2$n ## 72 234s [1] 72 234s > fm2$nobs ## 50 234s [1] 50 234s > ## Dimension of X and B1, B2 differ: 234s > dim(model.matrix(fm2)$X) 234s [1] 72 3 234s > dim(model.matrix(fm2, "B")$B1) 234s [1] 50 5 234s > ## Cannot directly evaluate predictions on the original data: 234s > try(predict(fm2, newdata=wine), silent=TRUE)[1] 234s [1] "Error in predict.clm(fm2, newdata = wine) : \n response factor 'rating' has new levels\n" 234s > confint(fm2) 234s 2.5 % 97.5 % 234s contactyes 0.4216272 2.876550 234s tempwarm 1.5970977 5.026527 234s > profile(fm2) 234s $contactyes 234s lroot par.vals.1|3 par.vals.3|4 par.vals.4|5 par.vals.contactyes 234s 1 3.4747852 -1.448538968 2.255543944 3.804439509 -0.447374822 234s 2 3.0276372 -1.308493024 2.407453551 3.967827135 -0.192380808 234s 3 2.5822211 -1.174976592 2.565043880 4.140537415 0.062613207 234s 4 2.1395315 -1.048101582 2.728199207 4.322490592 0.317607222 234s 5 1.7005507 -0.927983229 2.896810974 4.513576014 0.572601236 234s 6 1.2662317 -0.814738724 3.070776301 4.713647671 0.827595251 234s 7 0.8374817 -0.708483160 3.249996208 4.922519451 1.082589265 234s 8 0.4151468 -0.609322477 3.434373593 5.139960291 1.337583280 234s 9 0.0000000 -0.517343412 3.623810880 5.365689290 1.592577294 234s 10 -0.4072702 -0.432600941 3.818207180 5.599370818 1.847571309 234s 11 -0.8060673 -0.355104205 4.017454848 5.840609731 2.102565323 234s 12 -1.1958918 -0.284802472 4.221435388 6.088946911 2.357559338 234s 13 -1.5763436 -0.221573075 4.430015019 6.343855637 2.612553352 234s 14 -1.9471215 -0.165213368 4.643040370 6.604739566 2.867547367 234s 15 -2.3080198 -0.115438462 4.860335061 6.870933284 3.122541381 234s 16 -2.6589228 -0.071885700 5.081697900 7.141706504 3.377535396 234s 17 -2.9997972 -0.034125762 5.306903276 7.416272839 3.632529410 234s 18 -3.3306833 -0.001679093 5.535703885 7.693803770 3.887523425 234s par.vals.tempwarm 234s 1 2.840981986 234s 2 2.848907417 234s 3 2.863086150 234s 4 2.883227511 234s 5 2.909025226 234s 6 2.940155181 234s 7 2.976272850 234s 8 3.017010511 234s 9 3.061974244 234s 10 3.110740675 234s 11 3.162853507 234s 12 3.217819929 234s 13 3.275107380 234s 14 3.334141312 234s 15 3.394304942 234s 16 3.454942107 234s 17 3.515364293 234s 18 3.574862708 234s 234s $tempwarm 234s lroot par.vals.1|3 par.vals.3|4 par.vals.4|5 par.vals.contactyes 234s 1 3.4300164 -1.3083735 1.7272573 3.1899360 1.3296606 234s 2 2.8813858 -1.1550431 1.9737448 3.4740817 1.3627908 234s 3 2.3491188 -1.0148529 2.2280703 3.7683888 1.3992293 234s 4 1.8354355 -0.8881411 2.4904988 4.0722937 1.4379639 234s 5 1.3422735 -0.7751174 2.7612331 4.3850175 1.4778669 234s 6 0.8712358 -0.6758159 3.0403898 4.7055883 1.5177348 234s 7 0.4235444 -0.5900448 3.3279674 5.0328829 1.5563515 234s 8 0.0000000 -0.5173434 3.6238109 5.3656893 1.5925773 234s 9 -0.3990485 -0.4569595 3.9275814 5.7027863 1.6254526 234s 10 -0.7737184 -0.4078590 4.2387443 6.0430310 1.6542958 234s 11 -1.1245809 -0.3687765 4.5565843 6.3854348 1.6787668 234s 12 -1.4526173 -0.3383014 4.8802522 6.7292117 1.6988730 234s 13 -1.7591420 -0.3149843 5.2088333 7.0737893 1.7149136 234s 14 -2.0457031 -0.2974396 5.5414220 7.4187857 1.7273842 234s 15 -2.3139760 -0.2844232 5.8771833 7.7639689 1.7368704 234s 16 -2.5656664 -0.2748765 6.2153929 8.1092106 1.7439599 234s 17 -2.8024328 -0.2679376 6.5554528 8.4544482 1.7491850 234s 18 -3.0258332 -0.2629290 6.8968876 8.7996559 1.7529951 234s 19 -3.2372944 -0.2593326 7.2393314 9.1448275 1.7557514 234s 20 -3.4380992 -0.2567600 7.5825083 9.4899654 1.7577335 234s par.vals.tempwarm 234s 1 0.6468007 234s 2 0.9918255 234s 3 1.3368503 234s 4 1.6818751 234s 5 2.0268999 234s 6 2.3719247 234s 7 2.7169495 234s 8 3.0619742 234s 9 3.4069990 234s 10 3.7520238 234s 11 4.0970486 234s 12 4.4420734 234s 13 4.7870982 234s 14 5.1321230 234s 15 5.4771478 234s 16 5.8221726 234s 17 6.1671974 234s 18 6.5122222 234s 19 6.8572470 234s 20 7.2022718 234s 234s attr(,"original.fit") 234s formula: rating ~ contact + temp 234s data: wine 234s 234s link threshold nobs logLik AIC niter max.grad cond.H 234s logit flexible 50 -46.76 103.52 7(0) 3.55e-13 4.2e+01 234s 234s Coefficients: 234s contactyes tempwarm 234s 1.593 3.062 234s 234s Threshold coefficients: 234s 1|3 3|4 4|5 234s -0.5173 3.6238 5.3657 234s attr(,"class") 234s [1] "profile.clm" 234s > plot(slice(fm2), 5) 234s > step.fm2 <- step(fm2, trace=0) 234s > fitted(fm2) 234s [1] 0.60053892 0.77590129 0.09349820 0.27230685 0.27230685 0.32934749 234s [7] 0.32934749 0.37347364 0.10813631 0.77590129 0.60973967 0.32934749 234s [13] 0.40771198 0.60053892 0.77590129 0.09081575 0.09081575 0.40771198 234s [19] 0.40771198 0.60053892 0.77590129 0.60973967 0.32934749 0.25729874 234s [25] 0.60053892 0.09349820 0.77590129 0.60973967 0.60973967 0.25729874 234s [31] 0.25729874 0.60053892 0.77590129 0.27230685 0.32934749 0.40771198 234s [37] 0.37347364 0.37347364 0.60973967 0.25729874 0.77590129 0.60973967 234s [43] 0.60973967 0.25729874 0.40771198 0.37347364 0.77590129 0.60973967 234s [49] 0.40771198 0.40771198 234s > ## Scale and nominal effects: 234s > fm2b <- clm(rating ~ temp, scale=~contact, data=wine, weights=wts2) 234s > summary(fm2b) 234s formula: rating ~ temp 234s scale: ~contact 234s data: wine 234s 234s link threshold nobs logLik AIC niter max.grad cond.H 234s logit flexible 50 -50.35 110.71 9(0) 2.51e-08 1.2e+02 234s 234s Coefficients: 234s Estimate Std. Error z value Pr(>|z|) 234s tempwarm 2.667 1.059 2.519 0.0118 * 234s --- 234s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 234s 234s log-scale coefficients: 234s Estimate Std. Error z value Pr(>|z|) 234s contactyes -0.09812 0.38836 -0.253 0.801 234s 234s Threshold coefficients: 234s Estimate Std. Error z value 234s 1|3 -1.2009 0.5033 -2.386 234s 3|4 2.3219 1.0427 2.227 234s 4|5 3.7986 1.3876 2.738 234s > pr <- profile(fm2b) 234s > confint(pr) 234s 2.5 % 97.5 % 234s tempwarm 1.1319929 6.0851931 234s sca.contactyes -0.8403892 0.7190847 234s > plot(pr, 1) 234s > fm2c <- clm(rating ~ temp, nominal=~contact, data=wine, weights=wts2) 234s > summary(fm2c) 234s formula: rating ~ temp 234s nominal: ~contact 234s data: wine 234s 234s link threshold nobs logLik AIC niter max.grad cond.H 234s logit flexible 50 -46.36 106.72 7(0) 1.22e-12 4.8e+01 234s 234s Coefficients: 234s Estimate Std. Error z value Pr(>|z|) 234s tempwarm 3.1100 0.8529 3.646 0.000266 *** 234s --- 234s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 234s 234s Threshold coefficients: 234s Estimate Std. Error z value 234s 1|3.(Intercept) -0.4250 0.6381 -0.666 234s 3|4.(Intercept) 3.6911 0.9505 3.883 234s 4|5.(Intercept) 4.8968 1.1001 4.451 234s 1|3.contactyes -1.8993 1.2128 -1.566 234s 3|4.contactyes -1.7003 0.7432 -2.288 234s 4|5.contactyes -0.9153 0.9243 -0.990 234s > pr <- profile(fm2c) 234s > confint(pr) 234s 2.5 % 97.5 % 234s tempwarm 1.623761 5.102185 234s > plot(pr, 1) 234s > pred <- predict(fm2c, newdata=wine[!names(wine) %in% "rating"]) 234s > pred <- predict(fm2b, newdata=wine[!names(wine) %in% "rating"]) 234s > 234s > ## nominal.test(fm2) 234s > ## scale.test(fm2) 234s > 234s > ## Different data sets (error): 234s > try(anova(fm1, fm2), silent=TRUE)[1] ## OK 234s [1] "Error in anova.clm(fm1, fm2) : \n models were not all fitted to the same dataset\n" 234s > 234s > ## Test clm.fit: 234s > wts2 <- 1 * with(wine, rating != "2") 234s > mf2 <- update(fm2, method="design") 234s > fm3 <- with(mf2, clm.fit(y, X, weights=wts)) 234s > 234s > ################################# 234s > 234s BEGIN TEST testAnova.clm2.R 234s 234s R version 4.4.3 (2025-02-28) -- "Trophy Case" 234s Copyright (C) 2025 The R Foundation for Statistical Computing 234s Platform: aarch64-unknown-linux-gnu 234s 234s R is free software and comes with ABSOLUTELY NO WARRANTY. 234s You are welcome to redistribute it under certain conditions. 234s Type 'license()' or 'licence()' for distribution details. 234s 234s R is a collaborative project with many contributors. 234s Type 'contributors()' for more information and 234s 'citation()' on how to cite R or R packages in publications. 234s 234s Type 'demo()' for some demos, 'help()' for on-line help, or 234s 'help.start()' for an HTML browser interface to help. 234s Type 'q()' to quit R. 234s 235s > library(ordinal) 236s > options(contrasts = c("contr.treatment", "contr.poly")) 236s > 236s > ## More manageable data set: 236s > (tab26 <- with(soup, table("Product" = PROD, "Response" = SURENESS))) 236s Response 236s Product 1 2 3 4 5 6 236s Ref 132 161 65 41 121 219 236s Test 96 99 50 57 156 650 236s > dimnames(tab26)[[2]] <- c("Sure", "Not Sure", "Guess", "Guess", "Not Sure", "Sure") 236s > dat26 <- expand.grid(sureness = as.factor(1:6), prod = c("Ref", "Test")) 236s > dat26$wghts <- c(t(tab26)) 236s > m1 <- clm(sureness ~ prod, scale = ~prod, data = dat26, 236s + weights = wghts, link = "logit") 236s > 236s > ## anova 236s > m2 <- update(m1, scale = ~1) 236s > anova(m1, m2) 236s Likelihood ratio tests of cumulative link models: 236s 236s formula: scale: link: threshold: 236s m2 sureness ~ prod ~1 logit flexible 236s m1 sureness ~ prod ~prod logit flexible 236s 236s no.par AIC logLik LR.stat df Pr(>Chisq) 236s m2 6 5392.7 -2690.3 236s m1 7 5389.5 -2687.7 5.1749 1 0.02292 * 236s --- 236s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 236s > mN1 <- clm(sureness ~ 1, nominal = ~prod, data = dat26, 236s + link = "logit") 236s > anova(m1, mN1) 236s Likelihood ratio tests of cumulative link models: 236s 236s formula: nominal: scale: link: threshold: 236s m1 sureness ~ prod ~1 ~prod logit flexible 236s mN1 sureness ~ 1 ~prod ~1 logit flexible 236s 236s no.par AIC logLik LR.stat df Pr(>Chisq) 236s m1 7 5389.489 -2687.745 236s mN1 10 63.002 -21.501 5332.5 3 < 2.2e-16 *** 236s --- 236s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 236s > anova(m1, m2, mN1) 236s Likelihood ratio tests of cumulative link models: 236s 236s formula: nominal: scale: link: threshold: 236s m2 sureness ~ prod ~1 ~1 logit flexible 236s m1 sureness ~ prod ~1 ~prod logit flexible 236s mN1 sureness ~ 1 ~prod ~1 logit flexible 236s 236s no.par AIC logLik LR.stat df Pr(>Chisq) 236s m2 6 5392.664 -2690.332 236s m1 7 5389.489 -2687.745 5.1749 1 0.02292 * 236s mN1 10 63.002 -21.501 5332.4869 3 < 2e-16 *** 236s --- 236s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 236s > 236s > ## dropterm 236s > if(require(MASS)) { 236s + dropterm(m1, test = "Chi") 236s + mB1 <- clm(SURENESS ~ PROD + GENDER + SOUPTYPE, 236s + scale = ~ COLD, data = soup, link = "probit") 236s + dropterm(mB1, test = "Chi") # or 236s + 236s + ## addterm 236s + addterm(mB1, scope = ~.^2, test = "Chi") 236s + ## addterm(mB1, scope = ~ . + AGEGROUP + SOUPFREQ, 236s + ## test = "Chi", which = "location") 236s + ## addterm(mB1, scope = ~ . + GENDER + SOUPTYPE, 236s + ## test = "Chi", which = "scale") 236s + 236s + ## Fit model from polr example: 236s + ## data(housing, package = "MASS") 236s + 236s + fm1 <- clm(Sat ~ Infl + Type + Cont, weights = Freq, data = housing) 236s + ## addterm(fm1, ~ Infl + Type + Cont, test= "Chisq", which = "scale") 236s + dropterm(fm1, test = "Chisq") 236s + fm2 <- update(fm1, scale =~ Cont) 236s + fm3 <- update(fm1, formula =~.-Cont, nominal =~ Cont) 236s + anova(fm1, fm2, fm3) 236s + } 236s Loading required package: MASS 236s Likelihood ratio tests of cumulative link models: 236s 236s formula: nominal: scale: link: threshold: 236s fm1 Sat ~ Infl + Type + Cont ~1 ~1 logit flexible 236s fm2 Sat ~ Infl + Type + Cont ~1 ~Cont logit flexible 236s fm3 Sat ~ Infl + Type ~Cont ~1 logit flexible 236s 236s no.par AIC logLik LR.stat df Pr(>Chisq) 236s fm1 8 3495.1 -1739.6 236s fm2 9 3491.5 -1736.7 5.6559 1 0.0174 * 236s fm3 9 3494.7 -1738.4 -3.2113 0 236s --- 236s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 236s > 236s > 236s BEGIN TEST testCLM.R 236s 236s R version 4.4.3 (2025-02-28) -- "Trophy Case" 236s Copyright (C) 2025 The R Foundation for Statistical Computing 236s Platform: aarch64-unknown-linux-gnu 236s 236s R is free software and comes with ABSOLUTELY NO WARRANTY. 236s You are welcome to redistribute it under certain conditions. 236s Type 'license()' or 'licence()' for distribution details. 236s 236s R is a collaborative project with many contributors. 236s Type 'contributors()' for more information and 236s 'citation()' on how to cite R or R packages in publications. 236s 236s Type 'demo()' for some demos, 'help()' for on-line help, or 236s 'help.start()' for an HTML browser interface to help. 236s Type 'q()' to quit R. 236s 236s > library(ordinal) 237s > options(contrasts = c("contr.treatment", "contr.poly")) 237s > ## library(devtools) 237s > ## r2path <- "/Users/rhbc/Documents/Rpackages/ordinal/pkg/ordinal" 237s > ## clean_dll(pkg = r2path) 237s > ## load_all(r2path) 237s > 237s > ## More manageable data set: 237s > data(soup, package="ordinal") 237s > (tab26 <- with(soup, table("Product" = PROD, "Response" = SURENESS))) 237s Response 237s Product 1 2 3 4 5 6 237s Ref 132 161 65 41 121 219 237s Test 96 99 50 57 156 650 237s > dimnames(tab26)[[2]] <- c("Sure", "Not Sure", "Guess", "Guess", "Not Sure", "Sure") 237s > dat26 <- expand.grid(sureness = as.factor(1:6), prod = c("Ref", "Test")) 237s > dat26$wghts <- c(t(tab26)) 237s > m1 <- clm(sureness ~ prod, scale = ~prod, data = dat26, 237s + weights = wghts, link = "logit") 237s > ## print, summary, vcov, logLik, AIC: 237s > m1 237s formula: sureness ~ prod 237s scale: ~prod 237s data: dat26 237s 237s link threshold nobs logLik AIC niter max.grad cond.H 237s logit flexible 1847 -2687.74 5389.49 8(1) 5.09e-07 1.0e+02 237s 237s Coefficients: 237s prodTest 237s 1.296 237s 237s log-scale coefficients: 237s prodTest 237s 0.148 237s 237s Threshold coefficients: 237s 1|2 2|3 3|4 4|5 5|6 237s -1.4913 -0.4522 -0.1072 0.1634 0.8829 237s > summary(m1) 237s formula: sureness ~ prod 237s scale: ~prod 237s data: dat26 237s 237s link threshold nobs logLik AIC niter max.grad cond.H 237s logit flexible 1847 -2687.74 5389.49 8(1) 5.09e-07 1.0e+02 237s 237s Coefficients: 237s Estimate Std. Error z value Pr(>|z|) 237s prodTest 1.296 0.119 10.89 <2e-16 *** 237s --- 237s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 237s 237s log-scale coefficients: 237s Estimate Std. Error z value Pr(>|z|) 237s prodTest 0.1480 0.0651 2.273 0.023 * 237s --- 237s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 237s 237s Threshold coefficients: 237s Estimate Std. Error z value 237s 1|2 -1.49126 0.09215 -16.183 237s 2|3 -0.45218 0.07182 -6.296 237s 3|4 -0.10721 0.06995 -1.533 237s 4|5 0.16337 0.07025 2.325 237s 5|6 0.88291 0.07957 11.096 237s > vcov(m1) 237s 1|2 2|3 3|4 4|5 5|6 237s 1|2 0.0084917417 0.0046258673 0.0038492096 0.003316006 0.002036170 237s 2|3 0.0046258673 0.0051586967 0.0044974099 0.004099300 0.003352323 237s 3|4 0.0038492096 0.0044974099 0.0048935739 0.004528181 0.003948048 237s 4|5 0.0033160059 0.0040993002 0.0045281811 0.004935721 0.004489054 237s 5|6 0.0020361699 0.0033523229 0.0039480481 0.004489054 0.006331523 237s prodTest 0.0009111749 0.0031074167 0.0039832831 0.004738959 0.007064828 237s prodTest -0.0024312129 -0.0007825923 -0.0001820514 0.000338977 0.001989991 237s prodTest prodTest 237s 1|2 0.0009111749 -0.0024312129 237s 2|3 0.0031074167 -0.0007825923 237s 3|4 0.0039832831 -0.0001820514 237s 4|5 0.0047389591 0.0003389770 237s 5|6 0.0070648284 0.0019899912 237s prodTest 0.0141687135 0.0045752922 237s prodTest 0.0045752922 0.0042385585 237s > 237s > logLik(m1) 237s 'log Lik.' -2687.745 (df=7) 237s > ll.m1 <- structure(-2687.74456343981, df = 7L, nobs = 1847, 237s + class = "logLik") 237s > stopifnot(all.equal(logLik(m1), ll.m1)) 237s > 237s > AIC(m1) 237s [1] 5389.489 237s > 237s > coef(m1) 237s 1|2 2|3 3|4 4|5 5|6 prodTest prodTest 237s -1.4912570 -0.4521846 -0.1072083 0.1633653 0.8829135 1.2958776 0.1479862 237s > cm1 <- c(-1.49125702755587, -0.45218462707814, -0.107208315524318, 0.163365282774162, 237s + 0.88291347877514, 1.29587762626394, 0.147986162902775) 237s > stopifnot(all.equal(as.vector(coef(m1)), cm1)) 237s > 237s > coef(summary(m1)) 237s Estimate Std. Error z value Pr(>|z|) 237s 1|2 -1.4912570 0.09215065 -16.182817 6.667319e-59 237s 2|3 -0.4521846 0.07182407 -6.295726 3.059652e-10 237s 3|4 -0.1072083 0.06995408 -1.532553 1.253861e-01 237s 4|5 0.1633653 0.07025469 2.325329 2.005437e-02 237s 5|6 0.8829135 0.07957087 11.095938 1.312749e-28 237s prodTest 1.2958776 0.11903241 10.886763 1.332938e-27 237s prodTest 0.1479862 0.06510421 2.273066 2.302222e-02 237s > csm1 <- structure(c(-1.49125702755587, -0.45218462707814, -0.107208315524318, 237s + 0.163365282774162, 0.88291347877514, 1.29587762626394, 0.147986162902775, 237s + 0.0921506468161812, 0.0718240681909781, 0.069954084652323, 0.0702546879687391, 237s + 0.0795708692869622, 0.119032405993894, 0.065104213008022, -16.1828167145758, 237s + -6.2957256316336, -1.53255261729392, 2.32532927691394, 11.0959385851501, 237s + 10.8867632762999, 2.27306584421104, 6.66732036748908e-59, 3.05965144996025e-10, 237s + 0.125386123756898, 0.0200543599621069, 1.31274723412040e-28, 237s + 1.33293711602276e-27, 0.0230222123418036), .Dim = c(7L, 4L), .Dimnames = list( 237s + c("1|2", "2|3", "3|4", "4|5", "5|6", "prodTest", "prodTest" 237s + ), c("Estimate", "Std. Error", "z value", "Pr(>|z|)"))) 237s > stopifnot(all.equal(coef(summary(m1)), csm1)) 237s > 237s > ## link functions: 237s > m2 <- update(m1, link = "probit") 237s > m3 <- update(m1, link = "cloglog") 237s > 237s > m4 <- update(m1, link = "loglog") 237s > m5 <- update(m1, link = "cauchit", start = coef(m1)) 237s > ## m6 <- update(m1, link = "Aranda-Ordaz", lambda = 1) 237s > ## m7 <- update(m1, link = "Aranda-Ordaz") 237s > ## m8 <- update(m1, link = "log-gamma", lambda = 1) 237s > ## m9 <- update(m1, link = "log-gamma") 237s > ## nominal effects: 237s > mN1 <- clm(sureness ~ 1, nominal = ~ prod, data = dat26, 237s + weights = wghts) 237s > anova(m1, mN1) 237s Likelihood ratio tests of cumulative link models: 237s 237s formula: nominal: scale: link: threshold: 237s m1 sureness ~ prod ~1 ~prod logit flexible 237s mN1 sureness ~ 1 ~prod ~1 logit flexible 237s 237s no.par AIC logLik LR.stat df Pr(>Chisq) 237s m1 7 5389.5 -2687.7 237s mN1 10 5390.1 -2685.1 5.3755 3 0.1463 237s > ## optimizer / method: 237s > update(m1, scale = ~ 1, method = "Newton") 237s formula: sureness ~ prod 237s scale: ~1 237s data: dat26 237s 237s link threshold nobs logLik AIC niter max.grad cond.H 237s logit flexible 1847 -2690.33 5392.66 6(1) 3.21e-12 1.1e+02 237s 237s Coefficients: 237s prodTest 237s 1.144 237s 237s Threshold coefficients: 237s 1|2 2|3 3|4 4|5 5|6 237s -1.4050 -0.4247 -0.1013 0.1508 0.8126 237s > update(m1, scale = ~ 1, method = "ucminf") 237s formula: sureness ~ prod 237s scale: ~1 237s data: dat26 237s 237s link threshold nobs logLik AIC niter max.grad cond.H 237s logit flexible 1847 -2690.33 5392.66 19(0) 1.26e-08 1.1e+02 237s 237s Coefficients: 237s prodTest 237s 1.144 237s 237s Threshold coefficients: 237s 1|2 2|3 3|4 4|5 5|6 237s -1.4050 -0.4247 -0.1013 0.1508 0.8126 237s > update(m1, scale = ~ 1, method = "nlminb") 237s formula: sureness ~ prod 237s scale: ~1 237s data: dat26 237s 237s link threshold nobs logLik AIC niter max.grad cond.H 237s logit flexible 1847 -2690.33 5392.66 56(43) 4.13e-03 1.1e+02 237s 237s Coefficients: 237s prodTest 237s 1.144 237s 237s Threshold coefficients: 237s 1|2 2|3 3|4 4|5 5|6 237s -1.4050 -0.4247 -0.1013 0.1508 0.8126 237s > update(m1, scale = ~ 1, method = "optim") 237s Warning message: 237s (-1) Model failed to converge with max|grad| = 0.00413248 (tol = 1e-06) 237s formula: sureness ~ prod 237s scale: ~1 237s data: dat26 237s 237s link threshold nobs logLik AIC niter max.grad cond.H 237s logit flexible 1847 -2690.33 5392.66 44(12) 4.73e-03 1.1e+02 237s 237s Coefficients: 237s prodTest 237s 1.144 237s 237s Threshold coefficients: 237s 1|2 2|3 3|4 4|5 5|6 237s -1.4050 -0.4247 -0.1013 0.1508 0.8126 237s > update(m1, scale = ~ 1, method = "model.frame") 237s sureness prod (weights) 237s 1 1 Ref 132 237s 2 2 Ref 161 237s 3 3 Ref 65 237s 4 4 Ref 41 237s 5 5 Ref 121 237s 6 6 Ref 219 237s 7 1 Test 96 237s 8 2 Test 99 237s 9 3 Test 50 237s 10 4 Test 57 237s 11 5 Test 156 237s 12 6 Test 650 237s > update(m1, ~.-prod, scale = ~ 1, 237s + nominal = ~ prod, method = "model.frame") 237s sureness prod (weights) 237s 1 1 Ref 132 237s 2 2 Ref 161 237s 3 3 Ref 65 237s 4 4 Ref 41 237s 5 5 Ref 121 237s 6 6 Ref 219 237s 7 1 Test 96 237s 8 2 Test 99 237s 9 3 Test 50 237s 10 4 Test 57 237s 11 5 Test 156 237s 12 6 Test 650 237s > ## threshold functions 237s > mT1 <- update(m1, threshold = "symmetric") 237s Warning message: 237s (-1) Model failed to converge with max|grad| = 0.00472568 (tol = 1e-06) 237s > mT2 <- update(m1, threshold = "equidistant") 237s > anova(m1, mT1, mT2) 237s Likelihood ratio tests of cumulative link models: 237s 237s formula: scale: link: threshold: 237s mT2 sureness ~ prod ~prod logit equidistant 237s mT1 sureness ~ prod ~prod logit symmetric 237s m1 sureness ~ prod ~prod logit flexible 237s 237s no.par AIC logLik LR.stat df Pr(>Chisq) 237s mT2 4 5585.6 -2788.8 237s mT1 5 5407.8 -2698.9 179.806 1 < 2.2e-16 *** 237s m1 7 5389.5 -2687.7 22.271 2 1.459e-05 *** 237s --- 237s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 237s > 237s > ## Extend example from polr in package MASS: 237s > ## Fit model from polr example: 237s > if(require(MASS)) { 237s + fm1 <- clm(Sat ~ Infl + Type + Cont, weights = Freq, data = housing) 237s + fm1 237s + summary(fm1) 237s + ## With probit link: 237s + summary(update(fm1, link = "probit")) 237s + ## Allow scale to depend on Cont-variable 237s + summary(fm2 <- update(fm1, scale =~ Cont)) 237s + summary(fm3 <- update(fm1, location =~.-Cont, nominal =~ Cont)) 237s + summary(fm4 <- update(fm2, location =~.-Cont, nominal =~ Cont)) 237s + anova(fm1, fm2, fm3, fm4) 237s + ## which seems to improve the fit 237s + } 237s Loading required package: MASS 237s Likelihood ratio tests of cumulative link models: 237s 237s formula: nominal: scale: link: threshold: 237s fm1 Sat ~ Infl + Type + Cont ~1 ~1 logit flexible 237s fm2 Sat ~ Infl + Type + Cont ~1 ~Cont logit flexible 237s fm3 Sat ~ Infl + Type + Cont ~Cont ~1 logit flexible 237s fm4 Sat ~ Infl + Type + Cont ~Cont ~Cont logit flexible 237s 237s no.par AIC logLik LR.stat df Pr(>Chisq) 237s fm1 8 3495.1 -1739.6 237s fm2 9 3491.5 -1736.7 5.6559 1 0.01740 * 237s fm3 9 3494.7 -1738.4 -3.2113 0 237s fm4 10 3492.5 -1736.2 4.2190 1 0.03997 * 237s --- 237s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 237s > 237s > ################################# 237s > ## Better handling of ill-defined variance-covariance matrix of the 237s > ## parameters in summary methods for clm and clmm objects: 237s > dat26.2 <- data.frame(sureness = as.factor(1:12), 237s + prod = rep(c("One", "Two", "Three"),each=4)) 237s > fm1 <- clm(sureness ~ prod, ~prod, data = dat26.2) 237s > fm1 237s formula: sureness ~ prod 237s scale: ~prod 237s data: dat26.2 237s Warning message: 237s 237s (1) Hessian is numerically singular: parameters are not uniquely determined 237s In addition: Absolute convergence criterion was met, but relative criterion was not met 237s link threshold nobs logLik AIC niter max.grad cond.H 237s logit flexible 12 -16.64 63.27 33(14) 6.18e-07 2.0e+12 237s 237s Coefficients: 237s prodThree prodTwo 237s 90.72 46.65 237s 237s log-scale coefficients: 237s prodThree prodTwo 237s -0.11719 -0.09167 237s 237s Threshold coefficients: 237s 1|2 2|3 3|4 4|5 5|6 6|7 7|8 237s -1.099e+00 8.725e-16 1.099e+00 2.441e+01 4.564e+01 4.665e+01 4.765e+01 237s 8|9 9|10 10|11 11|12 237s 6.888e+01 8.975e+01 9.072e+01 9.170e+01 237s > summary(fm1) 237s formula: sureness ~ prod 237s scale: ~prod 237s data: dat26.2 237s 237s link threshold nobs logLik AIC niter max.grad cond.H 237s logit flexible 12 -16.64 63.27 33(14) 6.18e-07 2.0e+12 237s 237s Coefficients: 237s Estimate Std. Error z value Pr(>|z|) 237s prodThree 90.72 NA NA NA 237s prodTwo 46.65 NA NA NA 237s 237s log-scale coefficients: 237s Estimate Std. Error z value Pr(>|z|) 237s prodThree -0.11719 NA NA NA 237s prodTwo -0.09167 NA NA NA 237s 237s Threshold coefficients: 237s Estimate Std. Error z value 237s 1|2 -1.099e+00 NA NA 237s 2|3 8.725e-16 NA NA 237s 3|4 1.099e+00 NA NA 237s 4|5 2.441e+01 NA NA 237s 5|6 4.564e+01 NA NA 237s 6|7 4.665e+01 NA NA 237s 7|8 4.765e+01 NA NA 237s 8|9 6.888e+01 NA NA 237s 9|10 8.975e+01 NA NA 237s 10|11 9.072e+01 NA NA 237s 11|12 9.170e+01 NA NA 237s > summary(fm1, corr = 1) 237s formula: sureness ~ prod 237s scale: ~prod 237s data: dat26.2 237s 237s link threshold nobs logLik AIC niter max.grad cond.H 237s logit flexible 12 -16.64 63.27 33(14) 6.18e-07 2.0e+12 237s 237s Coefficients: 237s Estimate Std. Error z value Pr(>|z|) 237s prodThree 90.72 NA NA NA 237s prodTwo 46.65 NA NA NA 237s 237s log-scale coefficients: 237s Estimate Std. Error z value Pr(>|z|) 237s prodThree -0.11719 NA NA NA 237s prodTwo -0.09167 NA NA NA 237s 237s Threshold coefficients: 237s Estimate Std. Error z value 237s 1|2 -1.099e+00 NA NA 237s 2|3 8.725e-16 NA NA 237s 3|4 1.099e+00 NA NA 237s 4|5 2.441e+01 NA NA 237s 5|6 4.564e+01 NA NA 237s 6|7 4.665e+01 NA NA 237s 7|8 4.765e+01 NA NA 237s 8|9 6.888e+01 NA NA 237s 9|10 8.975e+01 NA NA 237s 10|11 9.072e+01 NA NA 237s 11|12 9.170e+01 NA NA 237s > ## fm1$Hessian 237s > ## sl1 <- slice(fm1, 13) 237s > ## fitted(fm1) 237s > ## convergence(fm1) 237s > ## eigen(fm1$Hessian)$values 237s > ## sqrt(diag(solve(fm1$Hessian))) 237s > ## sqrt(diag(ginv(fm1$Hessian))) 237s > 237s > ################################# 237s > ## Missing values: 237s > ## Bug-report from Jonathan Williams 237s > ## , 18 March 2010 12:42 237s > data(soup, package = "ordinal") 237s > soup$SURENESS[10] <- NA 237s > c1a <- clm(ordered(SURENESS)~PROD, data=soup); summary(c1a) 237s Warning message: 237s In summary.clm(fm1, corr = 1) : Correlation matrix is unavailable 237s formula: ordered(SURENESS) ~ PROD 237s data: soup 237s 237s link threshold nobs logLik AIC niter max.grad cond.H 237s logit flexible 1846 -2688.71 5389.43 6(1) 2.87e-12 1.1e+02 237s 237s Coefficients: 237s Estimate Std. Error z value Pr(>|z|) 237s PRODTest 1.14251 0.08931 12.79 <2e-16 *** 237s --- 237s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 237s 237s Threshold coefficients: 237s Estimate Std. Error z value 237s 1|2 -1.40460 0.08174 -17.184 237s 2|3 -0.42733 0.06965 -6.135 237s 3|4 -0.10357 0.06884 -1.505 237s 4|5 0.14862 0.06898 2.155 237s 5|6 0.81063 0.07185 11.282 237s (1 observation deleted due to missingness) 237s > c2a <- clm(ordered(SURENESS)~PROD, scale = ~PROD, data=soup) 237s > summary(c2a) 237s formula: ordered(SURENESS) ~ PROD 237s scale: ~PROD 237s data: soup 237s 237s link threshold nobs logLik AIC niter max.grad cond.H 237s logit flexible 1846 -2686.16 5386.32 8(1) 4.81e-07 1.0e+02 237s 237s Coefficients: 237s Estimate Std. Error z value Pr(>|z|) 237s PRODTest 1.293 0.119 10.87 <2e-16 *** 237s --- 237s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 237s 237s log-scale coefficients: 237s Estimate Std. Error z value Pr(>|z|) 237s PRODTest 0.14711 0.06514 2.258 0.0239 * 237s --- 237s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 237s 237s Threshold coefficients: 237s Estimate Std. Error z value 237s 1|2 -1.49041 0.09219 -16.166 237s 2|3 -0.45478 0.07189 -6.326 237s 3|4 -0.10961 0.07000 -1.566 237s 4|5 0.16104 0.07029 2.291 237s 5|6 0.88052 0.07959 11.064 237s (1 observation deleted due to missingness) 237s > c3a <- clm(ordered(SURENESS)~1, scale = ~PROD, data=soup) 238s > summary(c3a) 238s formula: ordered(SURENESS) ~ 1 238s scale: ~PROD 238s data: soup 238s 238s link threshold nobs logLik AIC niter max.grad cond.H 238s logit flexible 1846 -2769.95 5551.91 10(1) 9.20e-13 6.9e+01 238s 238s log-scale coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s PRODTest -0.15478 0.06683 -2.316 0.0206 * 238s --- 238s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 238s 238s Threshold coefficients: 238s Estimate Std. Error z value 238s 1|2 -1.85565 0.08111 -22.878 238s 2|3 -0.98626 0.05260 -18.752 238s 3|4 -0.70743 0.04676 -15.129 238s 4|5 -0.49243 0.04393 -11.208 238s 5|6 0.06504 0.04653 1.398 238s (1 observation deleted due to missingness) 238s > data(soup, package = "ordinal") 238s > soup$PROD[1] <- NA 238s > c1a <- clm(ordered(SURENESS)~PROD, data=soup) 238s > summary(c1a) 238s formula: ordered(SURENESS) ~ PROD 238s data: soup 238s 238s link threshold nobs logLik AIC niter max.grad cond.H 238s logit flexible 1846 -2689.15 5390.30 6(1) 2.85e-12 1.1e+02 238s 238s Coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s PRODTest 1.14774 0.08932 12.85 <2e-16 *** 238s --- 238s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 238s 238s Threshold coefficients: 238s Estimate Std. Error z value 238s 1|2 -1.40278 0.08171 -17.167 238s 2|3 -0.42216 0.06962 -6.064 238s 3|4 -0.09849 0.06882 -1.431 238s 4|5 0.15373 0.06898 2.229 238s 5|6 0.81613 0.07188 11.353 238s (1 observation deleted due to missingness) 238s > c2a <- clm(ordered(SURENESS)~PROD, scale = ~PROD, data=soup) 238s > summary(c2a) 238s formula: ordered(SURENESS) ~ PROD 238s scale: ~PROD 238s data: soup 238s 238s link threshold nobs logLik AIC niter max.grad cond.H 238s logit flexible 1846 -2686.51 5387.03 8(1) 5.41e-07 1.0e+02 238s 238s Coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s PRODTest 1.3009 0.1192 10.91 <2e-16 *** 238s --- 238s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 238s 238s log-scale coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s PRODTest 0.1494 0.0651 2.295 0.0217 * 238s --- 238s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 238s 238s Threshold coefficients: 238s Estimate Std. Error z value 238s 1|2 -1.48982 0.09217 -16.163 238s 2|3 -0.44981 0.07186 -6.260 238s 3|4 -0.10441 0.07000 -1.492 238s 4|5 0.16655 0.07031 2.369 238s 5|6 0.88740 0.07969 11.136 238s (1 observation deleted due to missingness) 238s > c3a <- clm(ordered(SURENESS)~1, scale = ~PROD, data=soup) 238s > summary(c3a) 238s formula: ordered(SURENESS) ~ 1 238s scale: ~PROD 238s data: soup 238s 238s link threshold nobs logLik AIC niter max.grad cond.H 238s logit flexible 1846 -2771.22 5554.43 10(1) 7.39e-13 6.9e+01 238s 238s log-scale coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s PRODTest -0.15330 0.06689 -2.292 0.0219 * 238s --- 238s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 238s 238s Threshold coefficients: 238s Estimate Std. Error z value 238s 1|2 -1.85700 0.08108 -22.903 238s 2|3 -0.98437 0.05252 -18.742 238s 3|4 -0.70562 0.04673 -15.100 238s 4|5 -0.49061 0.04395 -11.163 238s 5|6 0.06723 0.04667 1.441 238s (1 observation deleted due to missingness) 238s > soup$SURENESS[10] <- NA 238s > c1a <- clm(ordered(SURENESS)~PROD, data=soup) 238s > summary(c1a) 238s formula: ordered(SURENESS) ~ PROD 238s data: soup 238s 238s link threshold nobs logLik AIC niter max.grad cond.H 238s logit flexible 1845 -2687.53 5387.07 6(1) 2.82e-12 1.1e+02 238s 238s Coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s PRODTest 1.14581 0.08934 12.82 <2e-16 *** 238s --- 238s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 238s 238s Threshold coefficients: 238s Estimate Std. Error z value 238s 1|2 -1.40237 0.08175 -17.155 238s 2|3 -0.42475 0.06968 -6.096 238s 3|4 -0.10080 0.06887 -1.464 238s 4|5 0.15158 0.06902 2.196 238s 5|6 0.81421 0.07191 11.322 238s (2 observations deleted due to missingness) 238s > c2a <- clm(ordered(SURENESS)~PROD, scale = ~PROD, data=soup) 238s > summary(c2a) 238s formula: ordered(SURENESS) ~ PROD 238s scale: ~PROD 238s data: soup 238s 238s link threshold nobs logLik AIC niter max.grad cond.H 238s logit flexible 1845 -2684.93 5383.86 8(1) 5.12e-07 1.0e+02 238s 238s Coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s PRODTest 1.2979 0.1192 10.89 <2e-16 *** 238s --- 238s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 238s 238s log-scale coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s PRODTest 0.14853 0.06514 2.28 0.0226 * 238s --- 238s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 238s 238s Threshold coefficients: 238s Estimate Std. Error z value 238s 1|2 -1.48896 0.09222 -16.147 238s 2|3 -0.45241 0.07192 -6.290 238s 3|4 -0.10681 0.07004 -1.525 238s 4|5 0.16422 0.07034 2.335 238s 5|6 0.88500 0.07970 11.104 238s (2 observations deleted due to missingness) 238s > c3a <- clm(ordered(SURENESS)~1, scale = ~PROD, data=soup) 238s > summary(c3a) 238s formula: ordered(SURENESS) ~ 1 238s scale: ~PROD 238s data: soup 238s 238s link threshold nobs logLik AIC niter max.grad cond.H 238s logit flexible 1845 -2769.23 5550.46 10(1) 1.07e-12 6.9e+01 238s 238s log-scale coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s PRODTest -0.15410 0.06688 -2.304 0.0212 * 238s --- 238s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 238s 238s Threshold coefficients: 238s Estimate Std. Error z value 238s 1|2 -1.85563 0.08111 -22.877 238s 2|3 -0.98586 0.05259 -18.745 238s 3|4 -0.70689 0.04676 -15.116 238s 4|5 -0.49176 0.04395 -11.188 238s 5|6 0.06616 0.04661 1.419 238s (2 observations deleted due to missingness) 238s > 238s > ## na.actions: 238s > c4a <- clm(ordered(SURENESS)~PROD, scale = ~PROD, data=soup, 238s + na.action=na.omit) 238s > summary(c4a) 238s formula: ordered(SURENESS) ~ PROD 238s scale: ~PROD 238s data: soup 238s 238s link threshold nobs logLik AIC niter max.grad cond.H 238s logit flexible 1845 -2684.93 5383.86 8(1) 5.12e-07 1.0e+02 238s 238s Coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s PRODTest 1.2979 0.1192 10.89 <2e-16 *** 238s --- 238s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 238s 238s log-scale coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s PRODTest 0.14853 0.06514 2.28 0.0226 * 238s --- 238s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 238s 238s Threshold coefficients: 238s Estimate Std. Error z value 238s 1|2 -1.48896 0.09222 -16.147 238s 2|3 -0.45241 0.07192 -6.290 238s 3|4 -0.10681 0.07004 -1.525 238s 4|5 0.16422 0.07034 2.335 238s 5|6 0.88500 0.07970 11.104 238s (2 observations deleted due to missingness) 238s > 238s > tC1 <- try(clm(ordered(SURENESS)~PROD, scale = ~PROD, data=soup, 238s + na.action=na.fail), silent = TRUE) 238s > stopifnot(inherits(tC1, "try-error")) 238s > 238s > c4a <- clm(ordered(SURENESS)~PROD, scale = ~PROD, data=soup, 238s + na.action=na.exclude) 238s > summary(c4a) 238s formula: ordered(SURENESS) ~ PROD 238s scale: ~PROD 238s data: soup 238s 238s link threshold nobs logLik AIC niter max.grad cond.H 238s logit flexible 1845 -2684.93 5383.86 8(1) 5.12e-07 1.0e+02 238s 238s Coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s PRODTest 1.2979 0.1192 10.89 <2e-16 *** 238s --- 238s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 238s 238s log-scale coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s PRODTest 0.14853 0.06514 2.28 0.0226 * 238s --- 238s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 238s 238s Threshold coefficients: 238s Estimate Std. Error z value 238s 1|2 -1.48896 0.09222 -16.147 238s 2|3 -0.45241 0.07192 -6.290 238s 3|4 -0.10681 0.07004 -1.525 238s 4|5 0.16422 0.07034 2.335 238s 5|6 0.88500 0.07970 11.104 238s (2 observations deleted due to missingness) 238s > 238s > tC2 <- try(clm(ordered(SURENESS)~PROD, scale = ~PROD, data=soup, 238s + na.action=na.pass), silent = TRUE) 238s > stopifnot(inherits(tC2, "try-error")) 238s > 238s > ## Subset: 238s > data(soup, package="ordinal") 238s > c4a <- clm(ordered(SURENESS)~PROD, scale = ~PROD, data=soup, 238s + subset = 1:100) 238s > c4a <- clm(ordered(SURENESS)~1, scale = ~PROD, data=soup, 238s + subset = 1:100) 238s > c4a <- clm(ordered(SURENESS)~PROD, data=soup, 238s + subset = 1:100) 238s > c4a <- clm(ordered(SURENESS)~1, data=soup, 238s + subset = 1:100) 238s > 238s > ## Offset: 238s > data(soup, package = "ordinal") 238s > set.seed(290980) 238s > offs <- runif(nrow(soup)) 238s > c4a <- clm(ordered(SURENESS)~PROD + offset(offs), 238s + scale = ~PROD, data=soup, subset = 1:100) 238s > summary(c4a) 238s formula: ordered(SURENESS) ~ PROD + offset(offs) 238s scale: ~PROD 238s data: soup 238s subset: 1:100 238s 238s link threshold nobs logLik AIC niter max.grad cond.H 238s logit flexible 100 -139.58 293.17 9(2) 1.41e-07 2.0e+02 238s 238s Coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s PRODTest 2.4410 0.7091 3.443 0.000576 *** 238s --- 238s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 238s 238s log-scale coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s PRODTest 0.5105 0.2671 1.911 0.056 . 238s --- 238s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 238s 238s Threshold coefficients: 238s Estimate Std. Error z value 238s 1|2 -1.0470 0.4019 -2.605 238s 2|3 0.4213 0.3106 1.356 238s 3|4 0.5488 0.3106 1.767 238s 4|5 0.9217 0.3162 2.915 238s 5|6 2.0775 0.4062 5.114 238s > 238s > c4a <- clm(ordered(SURENESS)~PROD + offset(offs), 238s + scale = ~PROD + offset(offs), data=soup, subset = 1:100) 238s > summary(c4a) 238s formula: ordered(SURENESS) ~ PROD + offset(offs) 238s scale: ~PROD + offset(offs) 238s data: soup 238s subset: 1:100 238s 238s link threshold nobs logLik AIC niter max.grad cond.H 238s logit flexible 100 -143.12 300.24 9(2) 5.32e-09 1.9e+02 238s 238s Coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s PRODTest 3.344 1.020 3.277 0.00105 ** 238s --- 238s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 238s 238s log-scale coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s PRODTest 0.4412 0.2753 1.603 0.109 238s 238s Threshold coefficients: 238s Estimate Std. Error z value 238s 1|2 -2.09797 0.62565 -3.353 238s 2|3 0.06671 0.46874 0.142 238s 3|4 0.25559 0.46525 0.549 238s 4|5 0.80178 0.46743 1.715 238s 5|6 2.46041 0.59193 4.157 238s > 238s > off2 <- offs 238s > c4a <- clm(ordered(SURENESS)~PROD + offset(offs), 238s + scale = ~PROD + offset(off2), data=soup, subset = 1:100) 238s > summary(c4a) 238s formula: ordered(SURENESS) ~ PROD + offset(offs) 238s scale: ~PROD + offset(off2) 238s data: soup 238s subset: 1:100 238s 238s link threshold nobs logLik AIC niter max.grad cond.H 238s logit flexible 100 -143.12 300.24 9(2) 5.32e-09 1.9e+02 238s 238s Coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s PRODTest 3.344 1.020 3.277 0.00105 ** 238s --- 238s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 238s 238s log-scale coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s PRODTest 0.4412 0.2753 1.603 0.109 238s 238s Threshold coefficients: 238s Estimate Std. Error z value 238s 1|2 -2.09797 0.62565 -3.353 238s 2|3 0.06671 0.46874 0.142 238s 3|4 0.25559 0.46525 0.549 238s 4|5 0.80178 0.46743 1.715 238s 5|6 2.46041 0.59193 4.157 238s > 238s > c4a <- clm(ordered(SURENESS)~PROD, 238s + scale = ~PROD + offset(offs), data=soup, subset = 1:100) 238s > summary(c4a) 238s formula: ordered(SURENESS) ~ PROD 238s scale: ~PROD + offset(offs) 238s data: soup 238s subset: 1:100 238s 238s link threshold nobs logLik AIC niter max.grad cond.H 238s logit flexible 100 -142.15 298.31 10(2) 7.69e-10 1.8e+02 238s 238s Coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s PRODTest 3.283 1.016 3.231 0.00123 ** 238s --- 238s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 238s 238s log-scale coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s PRODTest 0.4263 0.2801 1.522 0.128 238s 238s Threshold coefficients: 238s Estimate Std. Error z value 238s 1|2 -2.4698 0.6308 -3.915 238s 2|3 -0.2916 0.4668 -0.625 238s 3|4 -0.1005 0.4628 -0.217 238s 4|5 0.4484 0.4638 0.967 238s 5|6 2.1036 0.5864 3.587 238s > 238s > ## data as matrix: 238s > dat26M <- as.matrix(dat26) 238s > m1 <- clm(sureness ~ prod, scale = ~prod, data = dat26, 238s + weights = wghts, link = "logit") 238s > summary(m1) 238s formula: sureness ~ prod 238s scale: ~prod 238s data: dat26 238s 238s link threshold nobs logLik AIC niter max.grad cond.H 238s logit flexible 1847 -2687.74 5389.49 8(1) 5.09e-07 1.0e+02 238s 238s Coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s prodTest 1.296 0.119 10.89 <2e-16 *** 238s --- 238s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 238s 238s log-scale coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s prodTest 0.1480 0.0651 2.273 0.023 * 238s --- 238s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 238s 238s Threshold coefficients: 238s Estimate Std. Error z value 238s 1|2 -1.49126 0.09215 -16.183 238s 2|3 -0.45218 0.07182 -6.296 238s 3|4 -0.10721 0.06995 -1.533 238s 4|5 0.16337 0.07025 2.325 238s 5|6 0.88291 0.07957 11.096 238s > 238s > ## data in enclosing environment: 238s > attach(soup) 238s > m1 <- clm(SURENESS ~ PROD, scale = ~PROD) 238s > summary(m1) 238s formula: SURENESS ~ PROD 238s scale: ~PROD 238s 238s link threshold nobs logLik AIC niter max.grad cond.H 238s logit flexible 1847 -2687.74 5389.49 8(1) 5.09e-07 1.0e+02 238s 238s Coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s PRODTest 1.296 0.119 10.89 <2e-16 *** 238s --- 238s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 238s 238s log-scale coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s PRODTest 0.1480 0.0651 2.273 0.023 * 238s --- 238s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 238s 238s Threshold coefficients: 238s Estimate Std. Error z value 238s 1|2 -1.49126 0.09215 -16.183 238s 2|3 -0.45218 0.07182 -6.296 238s 3|4 -0.10721 0.06995 -1.533 238s 4|5 0.16337 0.07025 2.325 238s 5|6 0.88291 0.07957 11.096 238s > detach(soup) 238s > 238s > ################################################################## 238s > ### Parameter estimates were not correct with large scale effects due 238s > ### to end cut-points being \pm 100. This is not enough for 238s > ### location-scale model, but seems to be for location only models. 238s > ### Bug report from Ioannis Kosmidis : 238s > 238s > ### A 2x3 contigency table that will give a large estimated value of 238s > ### zeta 238s > x <- rep(0:1, each = 3) 238s > response <- factor(rep(c(1, 2, 3), times = 2)) 238s > freq <- c(1, 11, 1, 13, 1, 14) 238s > totals <- rep(tapply(freq, x, sum), each = 3) 238s > Dat <- data.frame(response, x, freq) 238s > 238s > ### Fitting a cumulative link model with dispersion effects 238s > modClm <- clm(response ~ x, scale = ~ x, weights = freq, data = Dat, 238s + control = clm.control(grtol = 1e-10, convTol = 1e-10)) 238s > summary(modClm) 238s formula: response ~ x 238s scale: ~x 238s data: Dat 238s 238s link threshold nobs logLik AIC niter max.grad cond.H 238s logit flexible 41 -29.98 67.96 10(3) 9.23e-10 2.4e+02 238s 238s Coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s x 2.485 13.168 0.189 0.85 238s 238s log-scale coefficients: 238s Estimate Std. Error z value Pr(>|z|) 238s x 3.548 1.023 3.468 0.000524 *** 238s --- 238s Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 238s 238s Threshold coefficients: 238s Estimate Std. Error z value 238s 1|2 -2.485 1.041 -2.387 238s 2|3 2.485 1.041 2.387 238s > ### The maximized log-likelihood for this saturated model should be 238s > sum(freq*log(freq/totals)) 238s [1] -29.97808 238s > # > sum(freq*log(freq/totals)) 238s > # [1] -29.97808 238s > ### but apparently clm fails to maximixe the log-likelihood 238s > modClm$logLik 238s [1] -29.97808 238s > # > modClm$logLik 238s > # [1] -30.44452 238s > stopifnot(isTRUE(all.equal(sum(freq*log(freq/totals)), modClm$logLik))) 238s > 238s > ### The estimates reported by clm are 238s > coef(modClm) 238s 1|2 2|3 x x 238s -2.484907 2.484907 2.484907 3.547588 238s > coef.res <- structure(c(-2.48490664104217, 2.48490665578163, 238s + 2.48490659188594, 238s + 3.54758796387530), .Names = c("1|2", "2|3", 238s + "x", "x")) 238s > stopifnot(isTRUE(all.equal(coef.res, coef(modClm)))) 238s > # > modClm$coefficients 238s > # 1|2 2|3 x x 238s > # -2.297718 2.297038 1.239023 2.834285 238s > ### while they should be (from my own software) 238s > # 1|2 2|3 x disp.x 238s > #-2.484907 2.484907 2.484907 3.547588 238s > convergence(modClm) 238s nobs logLik niter max.grad cond.H logLik.Error 238s 41 -29.98 10(3) 9.23e-10 2.4e+02 <1e-10 238s 238s Estimate Std.Err Gradient Error Cor.Dec Sig.Dig 238s 1|2 -2.485 1.041 3.50e-10 5.32e-10 8 9 238s 2|3 2.485 1.041 -1.60e-10 -5.32e-10 8 9 238s x 2.485 13.168 -1.90e-10 -3.54e-08 7 8 238s x 3.548 1.023 -9.23e-10 -1.55e-09 8 9 238s 238s Eigen values of Hessian: 238s 1.374792 0.855786 0.785151 0.005766 238s 238s Convergence message from clm: 238s (0) successful convergence 238s In addition: Absolute and relative convergence criteria were met 238s 238s > 238s > ################################################################## 238s > 238s autopkgtest [10:49:39]: test run-unit-test: -----------------------] 239s autopkgtest [10:49:40]: test run-unit-test: - - - - - - - - - - results - - - - - - - - - - 239s run-unit-test PASS 239s autopkgtest [10:49:40]: test pkg-r-autopkgtest: preparing testbed 359s autopkgtest [10:51:40]: testbed dpkg architecture: arm64 360s autopkgtest [10:51:41]: testbed apt version: 3.0.0 360s autopkgtest [10:51:41]: @@@@@@@@@@@@@@@@@@@@ test bed setup 360s autopkgtest [10:51:41]: testbed release detected to be: questing 361s autopkgtest [10:51:42]: updating testbed package index (apt update) 362s Get:1 http://ftpmaster.internal/ubuntu questing-proposed InRelease [110 kB] 362s Hit:2 http://ftpmaster.internal/ubuntu questing InRelease 362s Hit:3 http://ftpmaster.internal/ubuntu questing-updates InRelease 362s Hit:4 http://ftpmaster.internal/ubuntu questing-security InRelease 362s Get:5 http://ftpmaster.internal/ubuntu questing-proposed/universe Sources [2076 kB] 363s Get:6 http://ftpmaster.internal/ubuntu questing-proposed/multiverse Sources [44.4 kB] 363s Get:7 http://ftpmaster.internal/ubuntu questing-proposed/main Sources [175 kB] 363s Get:8 http://ftpmaster.internal/ubuntu questing-proposed/main arm64 Packages [219 kB] 363s Get:9 http://ftpmaster.internal/ubuntu questing-proposed/universe arm64 Packages [1509 kB] 363s Get:10 http://ftpmaster.internal/ubuntu questing-proposed/multiverse arm64 Packages [15.4 kB] 364s Fetched 4149 kB in 2s (2664 kB/s) 365s Reading package lists... 366s autopkgtest [10:51:47]: upgrading testbed (apt dist-upgrade and autopurge) 366s Reading package lists... 367s Building dependency tree... 367s Reading state information... 368s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 368s Starting 2 pkgProblemResolver with broken count: 0 368s Done 370s Entering ResolveByKeep 370s 371s Calculating upgrade... 371s The following packages will be upgraded: 371s htop mtd-utils nano 372s 3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 372s Need to get 936 kB of archives. 372s After this operation, 727 kB of additional disk space will be used. 372s Get:1 http://ftpmaster.internal/ubuntu questing/main arm64 nano arm64 8.4-1 [290 kB] 372s Get:2 http://ftpmaster.internal/ubuntu questing/main arm64 htop arm64 3.4.1-4 [177 kB] 372s Get:3 http://ftpmaster.internal/ubuntu questing/main arm64 mtd-utils arm64 1:2.3.0-1ubuntu1 [469 kB] 373s Fetched 936 kB in 1s (1386 kB/s) 373s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 117820 files and directories currently installed.) 373s Preparing to unpack .../archives/nano_8.4-1_arm64.deb ... 373s Unpacking nano (8.4-1) over (8.3-1) ... 373s Preparing to unpack .../htop_3.4.1-4_arm64.deb ... 373s Unpacking htop (3.4.1-4) over (3.4.0-2) ... 373s Preparing to unpack .../mtd-utils_1%3a2.3.0-1ubuntu1_arm64.deb ... 373s Unpacking mtd-utils (1:2.3.0-1ubuntu1) over (1:2.2.0-2ubuntu2) ... 373s Setting up htop (3.4.1-4) ... 373s Setting up mtd-utils (1:2.3.0-1ubuntu1) ... 373s Setting up nano (8.4-1) ... 373s Installing new version of config file /etc/nanorc ... 373s Processing triggers for man-db (2.13.0-1) ... 375s Processing triggers for install-info (7.1.1-1) ... 375s Reading package lists... 376s Building dependency tree... 376s Reading state information... 377s Starting pkgProblemResolver with broken count: 0 377s Starting 2 pkgProblemResolver with broken count: 0 377s Done 378s Solving dependencies... 380s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 383s Reading package lists... 384s Building dependency tree... 384s Reading state information... 385s Starting pkgProblemResolver with broken count: 0 385s Starting 2 pkgProblemResolver with broken count: 0 385s Done 387s The following NEW packages will be installed: 387s build-essential cpp cpp-14 cpp-14-aarch64-linux-gnu cpp-aarch64-linux-gnu 387s dctrl-tools fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 387s g++ g++-14 g++-14-aarch64-linux-gnu g++-aarch64-linux-gnu gcc gcc-14 387s gcc-14-aarch64-linux-gnu gcc-aarch64-linux-gnu gfortran gfortran-14 387s gfortran-14-aarch64-linux-gnu gfortran-aarch64-linux-gnu icu-devtools 387s libasan8 libblas-dev libblas3 libbz2-dev libcairo2 libcc1-0 libdatrie1 387s libdeflate-dev libdeflate0 libfontconfig1 libgcc-14-dev libgfortran-14-dev 387s libgfortran5 libgomp1 libgraphite2-3 libharfbuzz0b libhwasan0 libice6 387s libicu-dev libisl23 libitm1 libjbig0 libjpeg-dev libjpeg-turbo8 387s libjpeg-turbo8-dev libjpeg8 libjpeg8-dev liblapack-dev liblapack3 liblerc4 387s liblsan0 liblzma-dev libmpc3 libncurses-dev libnlopt0 libpango-1.0-0 387s libpangocairo-1.0-0 libpangoft2-1.0-0 libpaper-utils libpaper2 libpcre2-16-0 387s libpcre2-32-0 libpcre2-dev libpcre2-posix3 libpixman-1-0 libpkgconf3 387s libpng-dev libreadline-dev libsharpyuv0 libsm6 libstdc++-14-dev libtcl8.6 387s libthai-data libthai0 libtiff6 libtirpc-dev libtk8.6 libtsan2 libubsan1 387s libwebp7 libxcb-render0 libxcb-shm0 libxft2 libxrender1 libxss1 libxt6t64 387s littler pkg-r-autopkgtest pkgconf pkgconf-bin r-base-core r-base-dev 387s r-cran-boot r-cran-brio r-cran-callr r-cran-cli r-cran-crayon r-cran-desc 387s r-cran-diffobj r-cran-digest r-cran-evaluate r-cran-fs r-cran-glue 387s r-cran-jsonlite r-cran-lattice r-cran-lifecycle r-cran-littler r-cran-lme4 387s r-cran-magrittr r-cran-mass r-cran-matrix r-cran-minqa r-cran-nlme 387s r-cran-nloptr r-cran-nnet r-cran-numderiv r-cran-ordinal r-cran-pkgbuild 387s r-cran-pkgkitten r-cran-pkgload r-cran-praise r-cran-processx r-cran-ps 387s r-cran-r6 r-cran-rbibutils r-cran-rcpp r-cran-rcppeigen r-cran-rdpack 387s r-cran-reformulas r-cran-rlang r-cran-rprojroot r-cran-statmod 387s r-cran-testthat r-cran-ucminf r-cran-waldo r-cran-withr r-cran-xtable unzip 387s x11-common xdg-utils zip zlib1g-dev 387s 0 upgraded, 145 newly installed, 0 to remove and 0 not upgraded. 387s Need to get 163 MB of archives. 387s After this operation, 481 MB of additional disk space will be used. 387s Get:1 http://ftpmaster.internal/ubuntu questing/main arm64 libisl23 arm64 0.27-1 [676 kB] 387s Get:2 http://ftpmaster.internal/ubuntu questing/main arm64 libmpc3 arm64 1.3.1-1build2 [56.8 kB] 387s Get:3 http://ftpmaster.internal/ubuntu questing/main arm64 cpp-14-aarch64-linux-gnu arm64 14.2.0-19ubuntu2 [10.6 MB] 389s Get:4 http://ftpmaster.internal/ubuntu questing/main arm64 cpp-14 arm64 14.2.0-19ubuntu2 [1026 B] 389s Get:5 http://ftpmaster.internal/ubuntu questing/main arm64 cpp-aarch64-linux-gnu arm64 4:14.2.0-1ubuntu1 [5558 B] 389s Get:6 http://ftpmaster.internal/ubuntu questing/main arm64 cpp arm64 4:14.2.0-1ubuntu1 [22.4 kB] 389s Get:7 http://ftpmaster.internal/ubuntu questing/main arm64 libcc1-0 arm64 15-20250404-0ubuntu1 [49.1 kB] 389s Get:8 http://ftpmaster.internal/ubuntu questing/main arm64 libgomp1 arm64 15-20250404-0ubuntu1 [147 kB] 389s Get:9 http://ftpmaster.internal/ubuntu questing/main arm64 libitm1 arm64 15-20250404-0ubuntu1 [27.8 kB] 389s Get:10 http://ftpmaster.internal/ubuntu questing/main arm64 libasan8 arm64 15-20250404-0ubuntu1 [2922 kB] 389s Get:11 http://ftpmaster.internal/ubuntu questing/main arm64 liblsan0 arm64 15-20250404-0ubuntu1 [1318 kB] 389s Get:12 http://ftpmaster.internal/ubuntu questing/main arm64 libtsan2 arm64 15-20250404-0ubuntu1 [2692 kB] 389s Get:13 http://ftpmaster.internal/ubuntu questing/main arm64 libubsan1 arm64 15-20250404-0ubuntu1 [1177 kB] 389s Get:14 http://ftpmaster.internal/ubuntu questing/main arm64 libhwasan0 arm64 15-20250404-0ubuntu1 [1640 kB] 389s Get:15 http://ftpmaster.internal/ubuntu questing/main arm64 libgcc-14-dev arm64 14.2.0-19ubuntu2 [2593 kB] 390s Get:16 http://ftpmaster.internal/ubuntu questing/main arm64 gcc-14-aarch64-linux-gnu arm64 14.2.0-19ubuntu2 [20.9 MB] 390s Get:17 http://ftpmaster.internal/ubuntu questing/main arm64 gcc-14 arm64 14.2.0-19ubuntu2 [529 kB] 390s Get:18 http://ftpmaster.internal/ubuntu questing/main arm64 gcc-aarch64-linux-gnu arm64 4:14.2.0-1ubuntu1 [1200 B] 390s Get:19 http://ftpmaster.internal/ubuntu questing/main arm64 gcc arm64 4:14.2.0-1ubuntu1 [4998 B] 390s Get:20 http://ftpmaster.internal/ubuntu questing/main arm64 libstdc++-14-dev arm64 14.2.0-19ubuntu2 [2501 kB] 390s Get:21 http://ftpmaster.internal/ubuntu questing/main arm64 g++-14-aarch64-linux-gnu arm64 14.2.0-19ubuntu2 [12.1 MB] 391s Get:22 http://ftpmaster.internal/ubuntu questing/main arm64 g++-14 arm64 14.2.0-19ubuntu2 [23.0 kB] 391s Get:23 http://ftpmaster.internal/ubuntu questing/main arm64 g++-aarch64-linux-gnu arm64 4:14.2.0-1ubuntu1 [956 B] 391s Get:24 http://ftpmaster.internal/ubuntu questing/main arm64 g++ arm64 4:14.2.0-1ubuntu1 [1080 B] 391s Get:25 http://ftpmaster.internal/ubuntu questing/main arm64 build-essential arm64 12.12ubuntu1 [5082 B] 391s Get:26 http://ftpmaster.internal/ubuntu questing/main arm64 dctrl-tools arm64 2.24-3build3 [103 kB] 391s Get:27 http://ftpmaster.internal/ubuntu questing/main arm64 fonts-dejavu-mono all 2.37-8 [502 kB] 391s Get:28 http://ftpmaster.internal/ubuntu questing/main arm64 fonts-dejavu-core all 2.37-8 [835 kB] 391s Get:29 http://ftpmaster.internal/ubuntu questing/main arm64 fontconfig-config arm64 2.15.0-2.2ubuntu1 [37.9 kB] 391s Get:30 http://ftpmaster.internal/ubuntu questing/main arm64 libfontconfig1 arm64 2.15.0-2.2ubuntu1 [144 kB] 391s Get:31 http://ftpmaster.internal/ubuntu questing/main arm64 fontconfig arm64 2.15.0-2.2ubuntu1 [191 kB] 391s Get:32 http://ftpmaster.internal/ubuntu questing/main arm64 libgfortran5 arm64 15-20250404-0ubuntu1 [444 kB] 391s Get:33 http://ftpmaster.internal/ubuntu questing/main arm64 libgfortran-14-dev arm64 14.2.0-19ubuntu2 [498 kB] 391s Get:34 http://ftpmaster.internal/ubuntu questing/main arm64 gfortran-14-aarch64-linux-gnu arm64 14.2.0-19ubuntu2 [11.4 MB] 391s Get:35 http://ftpmaster.internal/ubuntu questing/main arm64 gfortran-14 arm64 14.2.0-19ubuntu2 [14.2 kB] 391s Get:36 http://ftpmaster.internal/ubuntu questing/main arm64 gfortran-aarch64-linux-gnu arm64 4:14.2.0-1ubuntu1 [1022 B] 391s Get:37 http://ftpmaster.internal/ubuntu questing/main arm64 gfortran arm64 4:14.2.0-1ubuntu1 [1166 B] 391s Get:38 http://ftpmaster.internal/ubuntu questing/main arm64 icu-devtools arm64 76.1-1ubuntu2 [213 kB] 391s Get:39 http://ftpmaster.internal/ubuntu questing/main arm64 libblas3 arm64 3.12.1-2 [161 kB] 391s Get:40 http://ftpmaster.internal/ubuntu questing/main arm64 libblas-dev arm64 3.12.1-2 [126 kB] 391s Get:41 http://ftpmaster.internal/ubuntu questing/main arm64 libbz2-dev arm64 1.0.8-6 [36.1 kB] 391s Get:42 http://ftpmaster.internal/ubuntu questing/main arm64 libpixman-1-0 arm64 0.44.0-3 [197 kB] 391s Get:43 http://ftpmaster.internal/ubuntu questing/main arm64 libxcb-render0 arm64 1.17.0-2 [16.6 kB] 391s Get:44 http://ftpmaster.internal/ubuntu questing/main arm64 libxcb-shm0 arm64 1.17.0-2 [5884 B] 391s Get:45 http://ftpmaster.internal/ubuntu questing/main arm64 libxrender1 arm64 1:0.9.10-1.1build1 [18.8 kB] 391s Get:46 http://ftpmaster.internal/ubuntu questing/main arm64 libcairo2 arm64 1.18.4-1 [560 kB] 391s Get:47 http://ftpmaster.internal/ubuntu questing/main arm64 libdatrie1 arm64 0.2.13-3build1 [19.2 kB] 391s Get:48 http://ftpmaster.internal/ubuntu questing/main arm64 libdeflate0 arm64 1.23-1 [46.2 kB] 391s Get:49 http://ftpmaster.internal/ubuntu questing/main arm64 libdeflate-dev arm64 1.23-1 [53.7 kB] 391s Get:50 http://ftpmaster.internal/ubuntu questing/main arm64 libgraphite2-3 arm64 1.3.14-2ubuntu1 [70.6 kB] 391s Get:51 http://ftpmaster.internal/ubuntu questing/main arm64 libharfbuzz0b arm64 10.2.0-1 [490 kB] 391s Get:52 http://ftpmaster.internal/ubuntu questing/main arm64 x11-common all 1:7.7+23ubuntu4 [21.8 kB] 391s Get:53 http://ftpmaster.internal/ubuntu questing/main arm64 libice6 arm64 2:1.1.1-1 [42.3 kB] 391s Get:54 http://ftpmaster.internal/ubuntu questing/main arm64 libicu-dev arm64 76.1-1ubuntu2 [12.2 MB] 392s Get:55 http://ftpmaster.internal/ubuntu questing/main arm64 libjpeg-turbo8 arm64 2.1.5-3ubuntu2 [165 kB] 392s Get:56 http://ftpmaster.internal/ubuntu questing/main arm64 libjpeg-turbo8-dev arm64 2.1.5-3ubuntu2 [306 kB] 392s Get:57 http://ftpmaster.internal/ubuntu questing/main arm64 libjpeg8 arm64 8c-2ubuntu11 [2148 B] 392s Get:58 http://ftpmaster.internal/ubuntu questing/main arm64 libjpeg8-dev arm64 8c-2ubuntu11 [1484 B] 392s Get:59 http://ftpmaster.internal/ubuntu questing/main arm64 libjpeg-dev arm64 8c-2ubuntu11 [1482 B] 392s Get:60 http://ftpmaster.internal/ubuntu questing/main arm64 liblapack3 arm64 3.12.1-2 [2307 kB] 392s Get:61 http://ftpmaster.internal/ubuntu questing/main arm64 liblapack-dev arm64 3.12.1-2 [4439 kB] 392s Get:62 http://ftpmaster.internal/ubuntu questing/main arm64 liblerc4 arm64 4.0.0+ds-5ubuntu1 [167 kB] 392s Get:63 http://ftpmaster.internal/ubuntu questing/main arm64 libncurses-dev arm64 6.5+20250216-2 [389 kB] 392s Get:64 http://ftpmaster.internal/ubuntu questing/main arm64 libthai-data all 0.1.29-2build1 [158 kB] 392s Get:65 http://ftpmaster.internal/ubuntu questing/main arm64 libthai0 arm64 0.1.29-2build1 [18.2 kB] 392s Get:66 http://ftpmaster.internal/ubuntu questing/main arm64 libpango-1.0-0 arm64 1.56.3-1 [238 kB] 392s Get:67 http://ftpmaster.internal/ubuntu questing/main arm64 libpangoft2-1.0-0 arm64 1.56.3-1 [49.8 kB] 392s Get:68 http://ftpmaster.internal/ubuntu questing/main arm64 libpangocairo-1.0-0 arm64 1.56.3-1 [27.6 kB] 392s Get:69 http://ftpmaster.internal/ubuntu questing/main arm64 libpaper2 arm64 2.2.5-0.3 [17.3 kB] 392s Get:70 http://ftpmaster.internal/ubuntu questing/main arm64 libpaper-utils arm64 2.2.5-0.3 [15.4 kB] 392s Get:71 http://ftpmaster.internal/ubuntu questing/main arm64 libpcre2-16-0 arm64 10.45-1 [222 kB] 392s Get:72 http://ftpmaster.internal/ubuntu questing/main arm64 libpcre2-32-0 arm64 10.45-1 [210 kB] 392s Get:73 http://ftpmaster.internal/ubuntu questing/main arm64 libpcre2-posix3 arm64 10.45-1 [7084 B] 392s Get:74 http://ftpmaster.internal/ubuntu questing/main arm64 libpcre2-dev arm64 10.45-1 [768 kB] 392s Get:75 http://ftpmaster.internal/ubuntu questing/main arm64 libpkgconf3 arm64 1.8.1-4 [31.4 kB] 392s Get:76 http://ftpmaster.internal/ubuntu questing/main arm64 zlib1g-dev arm64 1:1.3.dfsg+really1.3.1-1ubuntu1 [894 kB] 392s Get:77 http://ftpmaster.internal/ubuntu questing/main arm64 libpng-dev arm64 1.6.47-1.1 [269 kB] 392s Get:78 http://ftpmaster.internal/ubuntu questing/main arm64 libreadline-dev arm64 8.2-6 [179 kB] 392s Get:79 http://ftpmaster.internal/ubuntu questing/main arm64 libsharpyuv0 arm64 1.5.0-0.1 [16.9 kB] 392s Get:80 http://ftpmaster.internal/ubuntu questing/main arm64 libsm6 arm64 2:1.2.4-1 [16.4 kB] 392s Get:81 http://ftpmaster.internal/ubuntu questing/main arm64 libtcl8.6 arm64 8.6.16+dfsg-1 [987 kB] 392s Get:82 http://ftpmaster.internal/ubuntu questing/main arm64 libjbig0 arm64 2.1-6.1ubuntu2 [29.3 kB] 392s Get:83 http://ftpmaster.internal/ubuntu questing/main arm64 libwebp7 arm64 1.5.0-0.1 [194 kB] 392s Get:84 http://ftpmaster.internal/ubuntu questing/main arm64 libtiff6 arm64 4.5.1+git230720-4ubuntu4 [193 kB] 392s Get:85 http://ftpmaster.internal/ubuntu questing/main arm64 libxft2 arm64 2.3.6-1build1 [44.1 kB] 392s Get:86 http://ftpmaster.internal/ubuntu questing/main arm64 libxss1 arm64 1:1.2.3-1build3 [7244 B] 392s Get:87 http://ftpmaster.internal/ubuntu questing/main arm64 libtk8.6 arm64 8.6.16-1 [776 kB] 392s Get:88 http://ftpmaster.internal/ubuntu questing/main arm64 libxt6t64 arm64 1:1.2.1-1.2build1 [168 kB] 392s Get:89 http://ftpmaster.internal/ubuntu questing/main arm64 zip arm64 3.0-14ubuntu2 [173 kB] 392s Get:90 http://ftpmaster.internal/ubuntu questing/main arm64 unzip arm64 6.0-28ubuntu6 [178 kB] 392s Get:91 http://ftpmaster.internal/ubuntu questing/main arm64 xdg-utils all 1.2.1-2ubuntu1 [66.0 kB] 392s Get:92 http://ftpmaster.internal/ubuntu questing/universe arm64 r-base-core arm64 4.4.3-1 [28.4 MB] 393s Get:93 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-littler arm64 0.3.20-2 [96.1 kB] 393s Get:94 http://ftpmaster.internal/ubuntu questing/universe arm64 littler all 0.3.20-2 [2554 B] 393s Get:95 http://ftpmaster.internal/ubuntu questing/main arm64 liblzma-dev arm64 5.6.4-1ubuntu1 [180 kB] 393s Get:96 http://ftpmaster.internal/ubuntu questing/main arm64 pkgconf-bin arm64 1.8.1-4 [20.9 kB] 393s Get:97 http://ftpmaster.internal/ubuntu questing/main arm64 pkgconf arm64 1.8.1-4 [16.7 kB] 393s Get:98 http://ftpmaster.internal/ubuntu questing/main arm64 libtirpc-dev arm64 1.3.4+ds-1.3 [201 kB] 393s Get:99 http://ftpmaster.internal/ubuntu questing/universe arm64 r-base-dev all 4.4.3-1 [4176 B] 393s Get:100 http://ftpmaster.internal/ubuntu questing/universe arm64 pkg-r-autopkgtest all 20231212ubuntu1 [6448 B] 393s Get:101 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-boot all 1.3-31-1 [635 kB] 393s Get:102 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-brio arm64 1.1.5-1 [39.1 kB] 394s Get:103 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-ps arm64 1.9.0-1 [407 kB] 394s Get:104 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-r6 all 2.6.1-1 [101 kB] 394s Get:105 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-processx arm64 3.8.6-1 [363 kB] 394s Get:106 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-callr all 3.7.6-1 [458 kB] 394s Get:107 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-cli arm64 3.6.4-1 [1374 kB] 394s Get:108 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-crayon all 1.5.3-1 [165 kB] 394s Get:109 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-desc all 1.4.3-1 [359 kB] 394s Get:110 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-diffobj arm64 0.3.5-1 [1116 kB] 394s Get:111 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-digest arm64 0.6.37-1 [200 kB] 394s Get:112 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-evaluate all 1.0.3-1 [114 kB] 394s Get:113 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-fs arm64 1.6.5+dfsg-1 [244 kB] 394s Get:114 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-glue arm64 1.8.0-1 [163 kB] 394s Get:115 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-jsonlite arm64 1.9.1+dfsg-1 [445 kB] 394s Get:116 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-lattice arm64 0.22-6-1 [1363 kB] 394s Get:117 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-rlang arm64 1.1.5-1 [1707 kB] 394s Get:118 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-lifecycle all 1.0.4+dfsg-1 [110 kB] 394s Get:119 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-matrix arm64 1.7-3-1 [4045 kB] 394s Get:120 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-mass arm64 7.3-65-1 [1109 kB] 394s Get:121 http://ftpmaster.internal/ubuntu questing-proposed/universe arm64 r-cran-nlme arm64 3.1.168-1 [2310 kB] 394s Get:122 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-pkgkitten all 0.2.4-1 [27.2 kB] 394s Get:123 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-rcpp arm64 1.0.14-1 [1978 kB] 394s Get:124 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-minqa arm64 1.2.8-1 [112 kB] 394s Get:125 http://ftpmaster.internal/ubuntu questing/universe arm64 libnlopt0 arm64 2.7.1-6ubuntu3 [179 kB] 394s Get:126 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-nloptr arm64 2.2.1-1 [250 kB] 394s Get:127 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-rbibutils arm64 2.3-1 [1016 kB] 394s Get:128 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-rdpack all 2.6.3-1 [636 kB] 394s Get:129 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-reformulas all 0.4.0-1 [91.5 kB] 394s Get:130 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-rcppeigen arm64 0.3.4.0.2-1 [1422 kB] 394s Get:131 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-statmod arm64 1.5.0-1 [294 kB] 394s Get:132 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-lme4 arm64 1.1-36-1 [4108 kB] 395s Get:133 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-magrittr arm64 2.0.3-1 [154 kB] 395s Get:134 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-nnet arm64 7.3-20-1 [113 kB] 395s Get:135 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-numderiv all 2016.8-1.1-3 [115 kB] 395s Get:136 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-ucminf arm64 1.2.2-1 [35.8 kB] 395s Get:137 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-ordinal arm64 2023.12-4.1-1 [1268 kB] 395s Get:138 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-pkgbuild all 1.4.6-1 [213 kB] 395s Get:139 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-rprojroot all 2.0.4-2 [125 kB] 395s Get:140 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-withr all 3.0.2+dfsg-1 [214 kB] 395s Get:141 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-pkgload all 1.4.0-1 [247 kB] 395s Get:142 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-praise all 1.0.0-4build1 [20.3 kB] 395s Get:143 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-waldo all 0.6.1-2 [150 kB] 395s Get:144 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-testthat arm64 3.2.3-1 [1644 kB] 395s Get:145 http://ftpmaster.internal/ubuntu questing/universe arm64 r-cran-xtable all 1:1.8-4-2 [689 kB] 396s Preconfiguring packages ... 396s Fetched 163 MB in 8s (20.3 MB/s) 396s Selecting previously unselected package libisl23:arm64. 396s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 117821 files and directories currently installed.) 396s Preparing to unpack .../000-libisl23_0.27-1_arm64.deb ... 396s Unpacking libisl23:arm64 (0.27-1) ... 396s Selecting previously unselected package libmpc3:arm64. 396s Preparing to unpack .../001-libmpc3_1.3.1-1build2_arm64.deb ... 396s Unpacking libmpc3:arm64 (1.3.1-1build2) ... 396s Selecting previously unselected package cpp-14-aarch64-linux-gnu. 396s Preparing to unpack .../002-cpp-14-aarch64-linux-gnu_14.2.0-19ubuntu2_arm64.deb ... 396s Unpacking cpp-14-aarch64-linux-gnu (14.2.0-19ubuntu2) ... 396s Selecting previously unselected package cpp-14. 396s Preparing to unpack .../003-cpp-14_14.2.0-19ubuntu2_arm64.deb ... 396s Unpacking cpp-14 (14.2.0-19ubuntu2) ... 396s Selecting previously unselected package cpp-aarch64-linux-gnu. 396s Preparing to unpack .../004-cpp-aarch64-linux-gnu_4%3a14.2.0-1ubuntu1_arm64.deb ... 396s Unpacking cpp-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 396s Selecting previously unselected package cpp. 396s Preparing to unpack .../005-cpp_4%3a14.2.0-1ubuntu1_arm64.deb ... 396s Unpacking cpp (4:14.2.0-1ubuntu1) ... 397s Selecting previously unselected package libcc1-0:arm64. 397s Preparing to unpack .../006-libcc1-0_15-20250404-0ubuntu1_arm64.deb ... 397s Unpacking libcc1-0:arm64 (15-20250404-0ubuntu1) ... 397s Selecting previously unselected package libgomp1:arm64. 397s Preparing to unpack .../007-libgomp1_15-20250404-0ubuntu1_arm64.deb ... 397s Unpacking libgomp1:arm64 (15-20250404-0ubuntu1) ... 397s Selecting previously unselected package libitm1:arm64. 397s Preparing to unpack .../008-libitm1_15-20250404-0ubuntu1_arm64.deb ... 397s Unpacking libitm1:arm64 (15-20250404-0ubuntu1) ... 397s Selecting previously unselected package libasan8:arm64. 397s Preparing to unpack .../009-libasan8_15-20250404-0ubuntu1_arm64.deb ... 397s Unpacking libasan8:arm64 (15-20250404-0ubuntu1) ... 397s Selecting previously unselected package liblsan0:arm64. 397s Preparing to unpack .../010-liblsan0_15-20250404-0ubuntu1_arm64.deb ... 397s Unpacking liblsan0:arm64 (15-20250404-0ubuntu1) ... 397s Selecting previously unselected package libtsan2:arm64. 397s Preparing to unpack .../011-libtsan2_15-20250404-0ubuntu1_arm64.deb ... 397s Unpacking libtsan2:arm64 (15-20250404-0ubuntu1) ... 397s Selecting previously unselected package libubsan1:arm64. 397s Preparing to unpack .../012-libubsan1_15-20250404-0ubuntu1_arm64.deb ... 397s Unpacking libubsan1:arm64 (15-20250404-0ubuntu1) ... 397s Selecting previously unselected package libhwasan0:arm64. 397s Preparing to unpack .../013-libhwasan0_15-20250404-0ubuntu1_arm64.deb ... 397s Unpacking libhwasan0:arm64 (15-20250404-0ubuntu1) ... 397s Selecting previously unselected package libgcc-14-dev:arm64. 397s Preparing to unpack .../014-libgcc-14-dev_14.2.0-19ubuntu2_arm64.deb ... 397s Unpacking libgcc-14-dev:arm64 (14.2.0-19ubuntu2) ... 398s Selecting previously unselected package gcc-14-aarch64-linux-gnu. 398s Preparing to unpack .../015-gcc-14-aarch64-linux-gnu_14.2.0-19ubuntu2_arm64.deb ... 398s Unpacking gcc-14-aarch64-linux-gnu (14.2.0-19ubuntu2) ... 398s Selecting previously unselected package gcc-14. 398s Preparing to unpack .../016-gcc-14_14.2.0-19ubuntu2_arm64.deb ... 398s Unpacking gcc-14 (14.2.0-19ubuntu2) ... 398s Selecting previously unselected package gcc-aarch64-linux-gnu. 398s Preparing to unpack .../017-gcc-aarch64-linux-gnu_4%3a14.2.0-1ubuntu1_arm64.deb ... 398s Unpacking gcc-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 398s Selecting previously unselected package gcc. 398s Preparing to unpack .../018-gcc_4%3a14.2.0-1ubuntu1_arm64.deb ... 398s Unpacking gcc (4:14.2.0-1ubuntu1) ... 398s Selecting previously unselected package libstdc++-14-dev:arm64. 398s Preparing to unpack .../019-libstdc++-14-dev_14.2.0-19ubuntu2_arm64.deb ... 398s Unpacking libstdc++-14-dev:arm64 (14.2.0-19ubuntu2) ... 399s Selecting previously unselected package g++-14-aarch64-linux-gnu. 399s Preparing to unpack .../020-g++-14-aarch64-linux-gnu_14.2.0-19ubuntu2_arm64.deb ... 399s Unpacking g++-14-aarch64-linux-gnu (14.2.0-19ubuntu2) ... 399s Selecting previously unselected package g++-14. 399s Preparing to unpack .../021-g++-14_14.2.0-19ubuntu2_arm64.deb ... 399s Unpacking g++-14 (14.2.0-19ubuntu2) ... 399s Selecting previously unselected package g++-aarch64-linux-gnu. 399s Preparing to unpack .../022-g++-aarch64-linux-gnu_4%3a14.2.0-1ubuntu1_arm64.deb ... 399s Unpacking g++-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 399s Selecting previously unselected package g++. 399s Preparing to unpack .../023-g++_4%3a14.2.0-1ubuntu1_arm64.deb ... 399s Unpacking g++ (4:14.2.0-1ubuntu1) ... 399s Selecting previously unselected package build-essential. 399s Preparing to unpack .../024-build-essential_12.12ubuntu1_arm64.deb ... 399s Unpacking build-essential (12.12ubuntu1) ... 399s Selecting previously unselected package dctrl-tools. 399s Preparing to unpack .../025-dctrl-tools_2.24-3build3_arm64.deb ... 399s Unpacking dctrl-tools (2.24-3build3) ... 399s Selecting previously unselected package fonts-dejavu-mono. 399s Preparing to unpack .../026-fonts-dejavu-mono_2.37-8_all.deb ... 399s Unpacking fonts-dejavu-mono (2.37-8) ... 399s Selecting previously unselected package fonts-dejavu-core. 399s Preparing to unpack .../027-fonts-dejavu-core_2.37-8_all.deb ... 400s Unpacking fonts-dejavu-core (2.37-8) ... 400s Selecting previously unselected package fontconfig-config. 400s Preparing to unpack .../028-fontconfig-config_2.15.0-2.2ubuntu1_arm64.deb ... 400s Unpacking fontconfig-config (2.15.0-2.2ubuntu1) ... 400s Selecting previously unselected package libfontconfig1:arm64. 400s Preparing to unpack .../029-libfontconfig1_2.15.0-2.2ubuntu1_arm64.deb ... 400s Unpacking libfontconfig1:arm64 (2.15.0-2.2ubuntu1) ... 400s Selecting previously unselected package fontconfig. 400s Preparing to unpack .../030-fontconfig_2.15.0-2.2ubuntu1_arm64.deb ... 400s Unpacking fontconfig (2.15.0-2.2ubuntu1) ... 400s Selecting previously unselected package libgfortran5:arm64. 400s Preparing to unpack .../031-libgfortran5_15-20250404-0ubuntu1_arm64.deb ... 400s Unpacking libgfortran5:arm64 (15-20250404-0ubuntu1) ... 400s Selecting previously unselected package libgfortran-14-dev:arm64. 400s Preparing to unpack .../032-libgfortran-14-dev_14.2.0-19ubuntu2_arm64.deb ... 400s Unpacking libgfortran-14-dev:arm64 (14.2.0-19ubuntu2) ... 400s Selecting previously unselected package gfortran-14-aarch64-linux-gnu. 401s Preparing to unpack .../033-gfortran-14-aarch64-linux-gnu_14.2.0-19ubuntu2_arm64.deb ... 401s Unpacking gfortran-14-aarch64-linux-gnu (14.2.0-19ubuntu2) ... 401s Selecting previously unselected package gfortran-14. 401s Preparing to unpack .../034-gfortran-14_14.2.0-19ubuntu2_arm64.deb ... 401s Unpacking gfortran-14 (14.2.0-19ubuntu2) ... 401s Selecting previously unselected package gfortran-aarch64-linux-gnu. 401s Preparing to unpack .../035-gfortran-aarch64-linux-gnu_4%3a14.2.0-1ubuntu1_arm64.deb ... 401s Unpacking gfortran-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 401s Selecting previously unselected package gfortran. 401s Preparing to unpack .../036-gfortran_4%3a14.2.0-1ubuntu1_arm64.deb ... 401s Unpacking gfortran (4:14.2.0-1ubuntu1) ... 401s Selecting previously unselected package icu-devtools. 401s Preparing to unpack .../037-icu-devtools_76.1-1ubuntu2_arm64.deb ... 401s Unpacking icu-devtools (76.1-1ubuntu2) ... 401s Selecting previously unselected package libblas3:arm64. 401s Preparing to unpack .../038-libblas3_3.12.1-2_arm64.deb ... 401s Unpacking libblas3:arm64 (3.12.1-2) ... 401s Selecting previously unselected package libblas-dev:arm64. 401s Preparing to unpack .../039-libblas-dev_3.12.1-2_arm64.deb ... 401s Unpacking libblas-dev:arm64 (3.12.1-2) ... 401s Selecting previously unselected package libbz2-dev:arm64. 401s Preparing to unpack .../040-libbz2-dev_1.0.8-6_arm64.deb ... 401s Unpacking libbz2-dev:arm64 (1.0.8-6) ... 401s Selecting previously unselected package libpixman-1-0:arm64. 401s Preparing to unpack .../041-libpixman-1-0_0.44.0-3_arm64.deb ... 401s Unpacking libpixman-1-0:arm64 (0.44.0-3) ... 401s Selecting previously unselected package libxcb-render0:arm64. 401s Preparing to unpack .../042-libxcb-render0_1.17.0-2_arm64.deb ... 401s Unpacking libxcb-render0:arm64 (1.17.0-2) ... 402s Selecting previously unselected package libxcb-shm0:arm64. 402s Preparing to unpack .../043-libxcb-shm0_1.17.0-2_arm64.deb ... 402s Unpacking libxcb-shm0:arm64 (1.17.0-2) ... 402s Selecting previously unselected package libxrender1:arm64. 402s Preparing to unpack .../044-libxrender1_1%3a0.9.10-1.1build1_arm64.deb ... 402s Unpacking libxrender1:arm64 (1:0.9.10-1.1build1) ... 402s Selecting previously unselected package libcairo2:arm64. 402s Preparing to unpack .../045-libcairo2_1.18.4-1_arm64.deb ... 402s Unpacking libcairo2:arm64 (1.18.4-1) ... 402s Selecting previously unselected package libdatrie1:arm64. 402s Preparing to unpack .../046-libdatrie1_0.2.13-3build1_arm64.deb ... 402s Unpacking libdatrie1:arm64 (0.2.13-3build1) ... 402s Selecting previously unselected package libdeflate0:arm64. 402s Preparing to unpack .../047-libdeflate0_1.23-1_arm64.deb ... 402s Unpacking libdeflate0:arm64 (1.23-1) ... 402s Selecting previously unselected package libdeflate-dev:arm64. 402s Preparing to unpack .../048-libdeflate-dev_1.23-1_arm64.deb ... 402s Unpacking libdeflate-dev:arm64 (1.23-1) ... 402s Selecting previously unselected package libgraphite2-3:arm64. 402s Preparing to unpack .../049-libgraphite2-3_1.3.14-2ubuntu1_arm64.deb ... 402s Unpacking libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 402s Selecting previously unselected package libharfbuzz0b:arm64. 402s Preparing to unpack .../050-libharfbuzz0b_10.2.0-1_arm64.deb ... 402s Unpacking libharfbuzz0b:arm64 (10.2.0-1) ... 402s Selecting previously unselected package x11-common. 402s Preparing to unpack .../051-x11-common_1%3a7.7+23ubuntu4_all.deb ... 402s Unpacking x11-common (1:7.7+23ubuntu4) ... 402s Selecting previously unselected package libice6:arm64. 402s Preparing to unpack .../052-libice6_2%3a1.1.1-1_arm64.deb ... 402s Unpacking libice6:arm64 (2:1.1.1-1) ... 402s Selecting previously unselected package libicu-dev:arm64. 402s Preparing to unpack .../053-libicu-dev_76.1-1ubuntu2_arm64.deb ... 402s Unpacking libicu-dev:arm64 (76.1-1ubuntu2) ... 403s Selecting previously unselected package libjpeg-turbo8:arm64. 403s Preparing to unpack .../054-libjpeg-turbo8_2.1.5-3ubuntu2_arm64.deb ... 403s Unpacking libjpeg-turbo8:arm64 (2.1.5-3ubuntu2) ... 403s Selecting previously unselected package libjpeg-turbo8-dev:arm64. 403s Preparing to unpack .../055-libjpeg-turbo8-dev_2.1.5-3ubuntu2_arm64.deb ... 403s Unpacking libjpeg-turbo8-dev:arm64 (2.1.5-3ubuntu2) ... 403s Selecting previously unselected package libjpeg8:arm64. 403s Preparing to unpack .../056-libjpeg8_8c-2ubuntu11_arm64.deb ... 403s Unpacking libjpeg8:arm64 (8c-2ubuntu11) ... 403s Selecting previously unselected package libjpeg8-dev:arm64. 403s Preparing to unpack .../057-libjpeg8-dev_8c-2ubuntu11_arm64.deb ... 403s Unpacking libjpeg8-dev:arm64 (8c-2ubuntu11) ... 403s Selecting previously unselected package libjpeg-dev:arm64. 403s Preparing to unpack .../058-libjpeg-dev_8c-2ubuntu11_arm64.deb ... 403s Unpacking libjpeg-dev:arm64 (8c-2ubuntu11) ... 403s Selecting previously unselected package liblapack3:arm64. 403s Preparing to unpack .../059-liblapack3_3.12.1-2_arm64.deb ... 403s Unpacking liblapack3:arm64 (3.12.1-2) ... 403s Selecting previously unselected package liblapack-dev:arm64. 403s Preparing to unpack .../060-liblapack-dev_3.12.1-2_arm64.deb ... 403s Unpacking liblapack-dev:arm64 (3.12.1-2) ... 404s Selecting previously unselected package liblerc4:arm64. 404s Preparing to unpack .../061-liblerc4_4.0.0+ds-5ubuntu1_arm64.deb ... 404s Unpacking liblerc4:arm64 (4.0.0+ds-5ubuntu1) ... 404s Selecting previously unselected package libncurses-dev:arm64. 404s Preparing to unpack .../062-libncurses-dev_6.5+20250216-2_arm64.deb ... 404s Unpacking libncurses-dev:arm64 (6.5+20250216-2) ... 404s Selecting previously unselected package libthai-data. 404s Preparing to unpack .../063-libthai-data_0.1.29-2build1_all.deb ... 404s Unpacking libthai-data (0.1.29-2build1) ... 404s Selecting previously unselected package libthai0:arm64. 404s Preparing to unpack .../064-libthai0_0.1.29-2build1_arm64.deb ... 404s Unpacking libthai0:arm64 (0.1.29-2build1) ... 404s Selecting previously unselected package libpango-1.0-0:arm64. 404s Preparing to unpack .../065-libpango-1.0-0_1.56.3-1_arm64.deb ... 404s Unpacking libpango-1.0-0:arm64 (1.56.3-1) ... 404s Selecting previously unselected package libpangoft2-1.0-0:arm64. 404s Preparing to unpack .../066-libpangoft2-1.0-0_1.56.3-1_arm64.deb ... 404s Unpacking libpangoft2-1.0-0:arm64 (1.56.3-1) ... 404s Selecting previously unselected package libpangocairo-1.0-0:arm64. 404s Preparing to unpack .../067-libpangocairo-1.0-0_1.56.3-1_arm64.deb ... 404s Unpacking libpangocairo-1.0-0:arm64 (1.56.3-1) ... 404s Selecting previously unselected package libpaper2:arm64. 404s Preparing to unpack .../068-libpaper2_2.2.5-0.3_arm64.deb ... 404s Unpacking libpaper2:arm64 (2.2.5-0.3) ... 404s Selecting previously unselected package libpaper-utils. 404s Preparing to unpack .../069-libpaper-utils_2.2.5-0.3_arm64.deb ... 404s Unpacking libpaper-utils (2.2.5-0.3) ... 404s Selecting previously unselected package libpcre2-16-0:arm64. 404s Preparing to unpack .../070-libpcre2-16-0_10.45-1_arm64.deb ... 404s Unpacking libpcre2-16-0:arm64 (10.45-1) ... 404s Selecting previously unselected package libpcre2-32-0:arm64. 404s Preparing to unpack .../071-libpcre2-32-0_10.45-1_arm64.deb ... 404s Unpacking libpcre2-32-0:arm64 (10.45-1) ... 404s Selecting previously unselected package libpcre2-posix3:arm64. 404s Preparing to unpack .../072-libpcre2-posix3_10.45-1_arm64.deb ... 404s Unpacking libpcre2-posix3:arm64 (10.45-1) ... 404s Selecting previously unselected package libpcre2-dev:arm64. 404s Preparing to unpack .../073-libpcre2-dev_10.45-1_arm64.deb ... 404s Unpacking libpcre2-dev:arm64 (10.45-1) ... 405s Selecting previously unselected package libpkgconf3:arm64. 405s Preparing to unpack .../074-libpkgconf3_1.8.1-4_arm64.deb ... 405s Unpacking libpkgconf3:arm64 (1.8.1-4) ... 405s Selecting previously unselected package zlib1g-dev:arm64. 405s Preparing to unpack .../075-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1ubuntu1_arm64.deb ... 405s Unpacking zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1ubuntu1) ... 405s Selecting previously unselected package libpng-dev:arm64. 405s Preparing to unpack .../076-libpng-dev_1.6.47-1.1_arm64.deb ... 405s Unpacking libpng-dev:arm64 (1.6.47-1.1) ... 405s Selecting previously unselected package libreadline-dev:arm64. 405s Preparing to unpack .../077-libreadline-dev_8.2-6_arm64.deb ... 405s Unpacking libreadline-dev:arm64 (8.2-6) ... 405s Selecting previously unselected package libsharpyuv0:arm64. 405s Preparing to unpack .../078-libsharpyuv0_1.5.0-0.1_arm64.deb ... 405s Unpacking libsharpyuv0:arm64 (1.5.0-0.1) ... 405s Selecting previously unselected package libsm6:arm64. 405s Preparing to unpack .../079-libsm6_2%3a1.2.4-1_arm64.deb ... 405s Unpacking libsm6:arm64 (2:1.2.4-1) ... 405s Selecting previously unselected package libtcl8.6:arm64. 405s Preparing to unpack .../080-libtcl8.6_8.6.16+dfsg-1_arm64.deb ... 405s Unpacking libtcl8.6:arm64 (8.6.16+dfsg-1) ... 405s Selecting previously unselected package libjbig0:arm64. 405s Preparing to unpack .../081-libjbig0_2.1-6.1ubuntu2_arm64.deb ... 405s Unpacking libjbig0:arm64 (2.1-6.1ubuntu2) ... 405s Selecting previously unselected package libwebp7:arm64. 405s Preparing to unpack .../082-libwebp7_1.5.0-0.1_arm64.deb ... 405s Unpacking libwebp7:arm64 (1.5.0-0.1) ... 405s Selecting previously unselected package libtiff6:arm64. 405s Preparing to unpack .../083-libtiff6_4.5.1+git230720-4ubuntu4_arm64.deb ... 405s Unpacking libtiff6:arm64 (4.5.1+git230720-4ubuntu4) ... 405s Selecting previously unselected package libxft2:arm64. 405s Preparing to unpack .../084-libxft2_2.3.6-1build1_arm64.deb ... 405s Unpacking libxft2:arm64 (2.3.6-1build1) ... 405s Selecting previously unselected package libxss1:arm64. 405s Preparing to unpack .../085-libxss1_1%3a1.2.3-1build3_arm64.deb ... 405s Unpacking libxss1:arm64 (1:1.2.3-1build3) ... 405s Selecting previously unselected package libtk8.6:arm64. 405s Preparing to unpack .../086-libtk8.6_8.6.16-1_arm64.deb ... 405s Unpacking libtk8.6:arm64 (8.6.16-1) ... 405s Selecting previously unselected package libxt6t64:arm64. 406s Preparing to unpack .../087-libxt6t64_1%3a1.2.1-1.2build1_arm64.deb ... 406s Unpacking libxt6t64:arm64 (1:1.2.1-1.2build1) ... 406s Selecting previously unselected package zip. 406s Preparing to unpack .../088-zip_3.0-14ubuntu2_arm64.deb ... 406s Unpacking zip (3.0-14ubuntu2) ... 406s Selecting previously unselected package unzip. 406s Preparing to unpack .../089-unzip_6.0-28ubuntu6_arm64.deb ... 406s Unpacking unzip (6.0-28ubuntu6) ... 406s Selecting previously unselected package xdg-utils. 406s Preparing to unpack .../090-xdg-utils_1.2.1-2ubuntu1_all.deb ... 406s Unpacking xdg-utils (1.2.1-2ubuntu1) ... 406s Selecting previously unselected package r-base-core. 406s Preparing to unpack .../091-r-base-core_4.4.3-1_arm64.deb ... 406s Unpacking r-base-core (4.4.3-1) ... 406s Selecting previously unselected package r-cran-littler. 406s Preparing to unpack .../092-r-cran-littler_0.3.20-2_arm64.deb ... 406s Unpacking r-cran-littler (0.3.20-2) ... 406s Selecting previously unselected package littler. 406s Preparing to unpack .../093-littler_0.3.20-2_all.deb ... 406s Unpacking littler (0.3.20-2) ... 406s Selecting previously unselected package liblzma-dev:arm64. 406s Preparing to unpack .../094-liblzma-dev_5.6.4-1ubuntu1_arm64.deb ... 406s Unpacking liblzma-dev:arm64 (5.6.4-1ubuntu1) ... 406s Selecting previously unselected package pkgconf-bin. 406s Preparing to unpack .../095-pkgconf-bin_1.8.1-4_arm64.deb ... 406s Unpacking pkgconf-bin (1.8.1-4) ... 406s Selecting previously unselected package pkgconf:arm64. 406s Preparing to unpack .../096-pkgconf_1.8.1-4_arm64.deb ... 406s Unpacking pkgconf:arm64 (1.8.1-4) ... 406s Selecting previously unselected package libtirpc-dev:arm64. 407s Preparing to unpack .../097-libtirpc-dev_1.3.4+ds-1.3_arm64.deb ... 407s Unpacking libtirpc-dev:arm64 (1.3.4+ds-1.3) ... 407s Selecting previously unselected package r-base-dev. 407s Preparing to unpack .../098-r-base-dev_4.4.3-1_all.deb ... 407s Unpacking r-base-dev (4.4.3-1) ... 407s Selecting previously unselected package pkg-r-autopkgtest. 407s Preparing to unpack .../099-pkg-r-autopkgtest_20231212ubuntu1_all.deb ... 407s Unpacking pkg-r-autopkgtest (20231212ubuntu1) ... 407s Selecting previously unselected package r-cran-boot. 407s Preparing to unpack .../100-r-cran-boot_1.3-31-1_all.deb ... 407s Unpacking r-cran-boot (1.3-31-1) ... 407s Selecting previously unselected package r-cran-brio. 407s Preparing to unpack .../101-r-cran-brio_1.1.5-1_arm64.deb ... 407s Unpacking r-cran-brio (1.1.5-1) ... 407s Selecting previously unselected package r-cran-ps. 407s Preparing to unpack .../102-r-cran-ps_1.9.0-1_arm64.deb ... 407s Unpacking r-cran-ps (1.9.0-1) ... 407s Selecting previously unselected package r-cran-r6. 407s Preparing to unpack .../103-r-cran-r6_2.6.1-1_all.deb ... 407s Unpacking r-cran-r6 (2.6.1-1) ... 407s Selecting previously unselected package r-cran-processx. 407s Preparing to unpack .../104-r-cran-processx_3.8.6-1_arm64.deb ... 407s Unpacking r-cran-processx (3.8.6-1) ... 407s Selecting previously unselected package r-cran-callr. 407s Preparing to unpack .../105-r-cran-callr_3.7.6-1_all.deb ... 407s Unpacking r-cran-callr (3.7.6-1) ... 407s Selecting previously unselected package r-cran-cli. 407s Preparing to unpack .../106-r-cran-cli_3.6.4-1_arm64.deb ... 407s Unpacking r-cran-cli (3.6.4-1) ... 407s Selecting previously unselected package r-cran-crayon. 407s Preparing to unpack .../107-r-cran-crayon_1.5.3-1_all.deb ... 407s Unpacking r-cran-crayon (1.5.3-1) ... 407s Selecting previously unselected package r-cran-desc. 407s Preparing to unpack .../108-r-cran-desc_1.4.3-1_all.deb ... 407s Unpacking r-cran-desc (1.4.3-1) ... 407s Selecting previously unselected package r-cran-diffobj. 407s Preparing to unpack .../109-r-cran-diffobj_0.3.5-1_arm64.deb ... 407s Unpacking r-cran-diffobj (0.3.5-1) ... 407s Selecting previously unselected package r-cran-digest. 408s Preparing to unpack .../110-r-cran-digest_0.6.37-1_arm64.deb ... 408s Unpacking r-cran-digest (0.6.37-1) ... 408s Selecting previously unselected package r-cran-evaluate. 408s Preparing to unpack .../111-r-cran-evaluate_1.0.3-1_all.deb ... 408s Unpacking r-cran-evaluate (1.0.3-1) ... 408s Selecting previously unselected package r-cran-fs. 408s Preparing to unpack .../112-r-cran-fs_1.6.5+dfsg-1_arm64.deb ... 408s Unpacking r-cran-fs (1.6.5+dfsg-1) ... 408s Selecting previously unselected package r-cran-glue. 408s Preparing to unpack .../113-r-cran-glue_1.8.0-1_arm64.deb ... 408s Unpacking r-cran-glue (1.8.0-1) ... 408s Selecting previously unselected package r-cran-jsonlite. 408s Preparing to unpack .../114-r-cran-jsonlite_1.9.1+dfsg-1_arm64.deb ... 408s Unpacking r-cran-jsonlite (1.9.1+dfsg-1) ... 408s Selecting previously unselected package r-cran-lattice. 408s Preparing to unpack .../115-r-cran-lattice_0.22-6-1_arm64.deb ... 408s Unpacking r-cran-lattice (0.22-6-1) ... 408s Selecting previously unselected package r-cran-rlang. 408s Preparing to unpack .../116-r-cran-rlang_1.1.5-1_arm64.deb ... 408s Unpacking r-cran-rlang (1.1.5-1) ... 408s Selecting previously unselected package r-cran-lifecycle. 408s Preparing to unpack .../117-r-cran-lifecycle_1.0.4+dfsg-1_all.deb ... 408s Unpacking r-cran-lifecycle (1.0.4+dfsg-1) ... 408s Selecting previously unselected package r-cran-matrix. 408s Preparing to unpack .../118-r-cran-matrix_1.7-3-1_arm64.deb ... 408s Unpacking r-cran-matrix (1.7-3-1) ... 408s Selecting previously unselected package r-cran-mass. 408s Preparing to unpack .../119-r-cran-mass_7.3-65-1_arm64.deb ... 408s Unpacking r-cran-mass (7.3-65-1) ... 408s Selecting previously unselected package r-cran-nlme. 408s Preparing to unpack .../120-r-cran-nlme_3.1.168-1_arm64.deb ... 408s Unpacking r-cran-nlme (3.1.168-1) ... 408s Selecting previously unselected package r-cran-pkgkitten. 408s Preparing to unpack .../121-r-cran-pkgkitten_0.2.4-1_all.deb ... 408s Unpacking r-cran-pkgkitten (0.2.4-1) ... 408s Selecting previously unselected package r-cran-rcpp. 409s Preparing to unpack .../122-r-cran-rcpp_1.0.14-1_arm64.deb ... 409s Unpacking r-cran-rcpp (1.0.14-1) ... 409s Selecting previously unselected package r-cran-minqa. 409s Preparing to unpack .../123-r-cran-minqa_1.2.8-1_arm64.deb ... 409s Unpacking r-cran-minqa (1.2.8-1) ... 409s Selecting previously unselected package libnlopt0:arm64. 409s Preparing to unpack .../124-libnlopt0_2.7.1-6ubuntu3_arm64.deb ... 409s Unpacking libnlopt0:arm64 (2.7.1-6ubuntu3) ... 409s Selecting previously unselected package r-cran-nloptr. 409s Preparing to unpack .../125-r-cran-nloptr_2.2.1-1_arm64.deb ... 409s Unpacking r-cran-nloptr (2.2.1-1) ... 409s Selecting previously unselected package r-cran-rbibutils. 409s Preparing to unpack .../126-r-cran-rbibutils_2.3-1_arm64.deb ... 409s Unpacking r-cran-rbibutils (2.3-1) ... 409s Selecting previously unselected package r-cran-rdpack. 409s Preparing to unpack .../127-r-cran-rdpack_2.6.3-1_all.deb ... 409s Unpacking r-cran-rdpack (2.6.3-1) ... 409s Selecting previously unselected package r-cran-reformulas. 409s Preparing to unpack .../128-r-cran-reformulas_0.4.0-1_all.deb ... 409s Unpacking r-cran-reformulas (0.4.0-1) ... 409s Selecting previously unselected package r-cran-rcppeigen. 409s Preparing to unpack .../129-r-cran-rcppeigen_0.3.4.0.2-1_arm64.deb ... 409s Unpacking r-cran-rcppeigen (0.3.4.0.2-1) ... 409s Selecting previously unselected package r-cran-statmod. 409s Preparing to unpack .../130-r-cran-statmod_1.5.0-1_arm64.deb ... 409s Unpacking r-cran-statmod (1.5.0-1) ... 409s Selecting previously unselected package r-cran-lme4. 409s Preparing to unpack .../131-r-cran-lme4_1.1-36-1_arm64.deb ... 409s Unpacking r-cran-lme4 (1.1-36-1) ... 409s Selecting previously unselected package r-cran-magrittr. 409s Preparing to unpack .../132-r-cran-magrittr_2.0.3-1_arm64.deb ... 409s Unpacking r-cran-magrittr (2.0.3-1) ... 409s Selecting previously unselected package r-cran-nnet. 409s Preparing to unpack .../133-r-cran-nnet_7.3-20-1_arm64.deb ... 409s Unpacking r-cran-nnet (7.3-20-1) ... 409s Selecting previously unselected package r-cran-numderiv. 410s Preparing to unpack .../134-r-cran-numderiv_2016.8-1.1-3_all.deb ... 410s Unpacking r-cran-numderiv (2016.8-1.1-3) ... 410s Selecting previously unselected package r-cran-ucminf. 410s Preparing to unpack .../135-r-cran-ucminf_1.2.2-1_arm64.deb ... 410s Unpacking r-cran-ucminf (1.2.2-1) ... 410s Selecting previously unselected package r-cran-ordinal. 410s Preparing to unpack .../136-r-cran-ordinal_2023.12-4.1-1_arm64.deb ... 410s Unpacking r-cran-ordinal (2023.12-4.1-1) ... 410s Selecting previously unselected package r-cran-pkgbuild. 410s Preparing to unpack .../137-r-cran-pkgbuild_1.4.6-1_all.deb ... 410s Unpacking r-cran-pkgbuild (1.4.6-1) ... 410s Selecting previously unselected package r-cran-rprojroot. 410s Preparing to unpack .../138-r-cran-rprojroot_2.0.4-2_all.deb ... 410s Unpacking r-cran-rprojroot (2.0.4-2) ... 410s Selecting previously unselected package r-cran-withr. 410s Preparing to unpack .../139-r-cran-withr_3.0.2+dfsg-1_all.deb ... 410s Unpacking r-cran-withr (3.0.2+dfsg-1) ... 410s Selecting previously unselected package r-cran-pkgload. 410s Preparing to unpack .../140-r-cran-pkgload_1.4.0-1_all.deb ... 410s Unpacking r-cran-pkgload (1.4.0-1) ... 410s Selecting previously unselected package r-cran-praise. 410s Preparing to unpack .../141-r-cran-praise_1.0.0-4build1_all.deb ... 410s Unpacking r-cran-praise (1.0.0-4build1) ... 410s Selecting previously unselected package r-cran-waldo. 410s Preparing to unpack .../142-r-cran-waldo_0.6.1-2_all.deb ... 410s Unpacking r-cran-waldo (0.6.1-2) ... 410s Selecting previously unselected package r-cran-testthat. 410s Preparing to unpack .../143-r-cran-testthat_3.2.3-1_arm64.deb ... 410s Unpacking r-cran-testthat (3.2.3-1) ... 410s Selecting previously unselected package r-cran-xtable. 410s Preparing to unpack .../144-r-cran-xtable_1%3a1.8-4-2_all.deb ... 410s Unpacking r-cran-xtable (1:1.8-4-2) ... 410s Setting up libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 410s Setting up libpixman-1-0:arm64 (0.44.0-3) ... 410s Setting up libsharpyuv0:arm64 (1.5.0-0.1) ... 410s Setting up libncurses-dev:arm64 (6.5+20250216-2) ... 410s Setting up liblerc4:arm64 (4.0.0+ds-5ubuntu1) ... 410s Setting up libxrender1:arm64 (1:0.9.10-1.1build1) ... 410s Setting up libdatrie1:arm64 (0.2.13-3build1) ... 410s Setting up libxcb-render0:arm64 (1.17.0-2) ... 410s Setting up unzip (6.0-28ubuntu6) ... 410s Setting up x11-common (1:7.7+23ubuntu4) ... 411s Setting up libdeflate0:arm64 (1.23-1) ... 411s Setting up libnlopt0:arm64 (2.7.1-6ubuntu3) ... 411s Setting up libxcb-shm0:arm64 (1.17.0-2) ... 411s Setting up libreadline-dev:arm64 (8.2-6) ... 411s Setting up libgomp1:arm64 (15-20250404-0ubuntu1) ... 411s Setting up libjbig0:arm64 (2.1-6.1ubuntu2) ... 411s Setting up libpcre2-16-0:arm64 (10.45-1) ... 411s Setting up zip (3.0-14ubuntu2) ... 411s Setting up libpcre2-32-0:arm64 (10.45-1) ... 411s Setting up libblas3:arm64 (3.12.1-2) ... 411s update-alternatives: using /usr/lib/aarch64-linux-gnu/blas/libblas.so.3 to provide /usr/lib/aarch64-linux-gnu/libblas.so.3 (libblas.so.3-aarch64-linux-gnu) in auto mode 411s Setting up libtirpc-dev:arm64 (1.3.4+ds-1.3) ... 411s Setting up libpkgconf3:arm64 (1.8.1-4) ... 411s Setting up fonts-dejavu-mono (2.37-8) ... 411s Setting up libmpc3:arm64 (1.3.1-1build2) ... 411s Setting up libtcl8.6:arm64 (8.6.16+dfsg-1) ... 411s Setting up icu-devtools (76.1-1ubuntu2) ... 411s Setting up fonts-dejavu-core (2.37-8) ... 411s Setting up pkgconf-bin (1.8.1-4) ... 411s Setting up libjpeg-turbo8:arm64 (2.1.5-3ubuntu2) ... 411s Setting up libgfortran5:arm64 (15-20250404-0ubuntu1) ... 411s Setting up libwebp7:arm64 (1.5.0-0.1) ... 411s Setting up liblzma-dev:arm64 (5.6.4-1ubuntu1) ... 411s Setting up libubsan1:arm64 (15-20250404-0ubuntu1) ... 411s Setting up zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1ubuntu1) ... 411s Setting up libpcre2-posix3:arm64 (10.45-1) ... 411s Setting up libhwasan0:arm64 (15-20250404-0ubuntu1) ... 411s Setting up libasan8:arm64 (15-20250404-0ubuntu1) ... 411s Setting up libharfbuzz0b:arm64 (10.2.0-1) ... 411s Setting up libthai-data (0.1.29-2build1) ... 411s Setting up libxss1:arm64 (1:1.2.3-1build3) ... 411s Setting up libpaper2:arm64 (2.2.5-0.3) ... 411s Setting up libtsan2:arm64 (15-20250404-0ubuntu1) ... 411s Setting up libisl23:arm64 (0.27-1) ... 411s Setting up libdeflate-dev:arm64 (1.23-1) ... 411s Setting up libicu-dev:arm64 (76.1-1ubuntu2) ... 411s Setting up xdg-utils (1.2.1-2ubuntu1) ... 411s update-alternatives: using /usr/bin/xdg-open to provide /usr/bin/open (open) in auto mode 411s Setting up libcc1-0:arm64 (15-20250404-0ubuntu1) ... 411s Setting up liblsan0:arm64 (15-20250404-0ubuntu1) ... 411s Setting up libblas-dev:arm64 (3.12.1-2) ... 411s update-alternatives: using /usr/lib/aarch64-linux-gnu/blas/libblas.so to provide /usr/lib/aarch64-linux-gnu/libblas.so (libblas.so-aarch64-linux-gnu) in auto mode 411s Setting up dctrl-tools (2.24-3build3) ... 411s Setting up libitm1:arm64 (15-20250404-0ubuntu1) ... 411s Setting up libbz2-dev:arm64 (1.0.8-6) ... 411s Setting up libjpeg8:arm64 (8c-2ubuntu11) ... 411s Setting up libice6:arm64 (2:1.1.1-1) ... 411s Setting up libjpeg-turbo8-dev:arm64 (2.1.5-3ubuntu2) ... 411s Setting up liblapack3:arm64 (3.12.1-2) ... 411s update-alternatives: using /usr/lib/aarch64-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/aarch64-linux-gnu/liblapack.so.3 (liblapack.so.3-aarch64-linux-gnu) in auto mode 411s Setting up libpcre2-dev:arm64 (10.45-1) ... 411s Setting up fontconfig-config (2.15.0-2.2ubuntu1) ... 411s Setting up libpng-dev:arm64 (1.6.47-1.1) ... 411s Setting up libpaper-utils (2.2.5-0.3) ... 411s Setting up pkgconf:arm64 (1.8.1-4) ... 411s Setting up libthai0:arm64 (0.1.29-2build1) ... 411s Setting up liblapack-dev:arm64 (3.12.1-2) ... 411s update-alternatives: using /usr/lib/aarch64-linux-gnu/lapack/liblapack.so to provide /usr/lib/aarch64-linux-gnu/liblapack.so (liblapack.so-aarch64-linux-gnu) in auto mode 411s Setting up cpp-14-aarch64-linux-gnu (14.2.0-19ubuntu2) ... 411s Setting up libtiff6:arm64 (4.5.1+git230720-4ubuntu4) ... 411s Setting up libfontconfig1:arm64 (2.15.0-2.2ubuntu1) ... 411s Setting up libgcc-14-dev:arm64 (14.2.0-19ubuntu2) ... 411s Setting up libjpeg8-dev:arm64 (8c-2ubuntu11) ... 411s Setting up libstdc++-14-dev:arm64 (14.2.0-19ubuntu2) ... 411s Setting up libsm6:arm64 (2:1.2.4-1) ... 411s Setting up libgfortran-14-dev:arm64 (14.2.0-19ubuntu2) ... 411s Setting up fontconfig (2.15.0-2.2ubuntu1) ... 413s Regenerating fonts cache... done. 413s Setting up libxft2:arm64 (2.3.6-1build1) ... 413s Setting up libtk8.6:arm64 (8.6.16-1) ... 413s Setting up libpango-1.0-0:arm64 (1.56.3-1) ... 413s Setting up libjpeg-dev:arm64 (8c-2ubuntu11) ... 413s Setting up libcairo2:arm64 (1.18.4-1) ... 413s Setting up cpp-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 413s Setting up libxt6t64:arm64 (1:1.2.1-1.2build1) ... 413s Setting up cpp-14 (14.2.0-19ubuntu2) ... 413s Setting up cpp (4:14.2.0-1ubuntu1) ... 413s Setting up gcc-14-aarch64-linux-gnu (14.2.0-19ubuntu2) ... 413s Setting up libpangoft2-1.0-0:arm64 (1.56.3-1) ... 413s Setting up libpangocairo-1.0-0:arm64 (1.56.3-1) ... 413s Setting up gcc-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 413s Setting up g++-14-aarch64-linux-gnu (14.2.0-19ubuntu2) ... 413s Setting up gcc-14 (14.2.0-19ubuntu2) ... 413s Setting up r-base-core (4.4.3-1) ... 414s Creating config file /etc/R/Renviron with new version 414s Setting up r-cran-crayon (1.5.3-1) ... 414s Setting up r-cran-lattice (0.22-6-1) ... 414s Setting up r-cran-ps (1.9.0-1) ... 414s Setting up r-cran-nlme (3.1.168-1) ... 414s Setting up gfortran-14-aarch64-linux-gnu (14.2.0-19ubuntu2) ... 414s Setting up r-cran-statmod (1.5.0-1) ... 414s Setting up g++-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 414s Setting up r-cran-nnet (7.3-20-1) ... 414s Setting up gfortran-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 414s Setting up g++-14 (14.2.0-19ubuntu2) ... 414s Setting up r-cran-r6 (2.6.1-1) ... 414s Setting up r-cran-pkgkitten (0.2.4-1) ... 414s Setting up gfortran-14 (14.2.0-19ubuntu2) ... 414s Setting up r-cran-numderiv (2016.8-1.1-3) ... 414s Setting up r-cran-magrittr (2.0.3-1) ... 414s Setting up r-cran-littler (0.3.20-2) ... 414s Setting up r-cran-fs (1.6.5+dfsg-1) ... 414s Setting up r-cran-rcpp (1.0.14-1) ... 414s Setting up r-cran-brio (1.1.5-1) ... 414s Setting up r-cran-nloptr (2.2.1-1) ... 414s Setting up r-cran-boot (1.3-31-1) ... 414s Setting up r-cran-diffobj (0.3.5-1) ... 414s Setting up r-cran-rlang (1.1.5-1) ... 414s Setting up littler (0.3.20-2) ... 414s Setting up r-cran-withr (3.0.2+dfsg-1) ... 414s Setting up r-cran-processx (3.8.6-1) ... 414s Setting up r-cran-praise (1.0.0-4build1) ... 414s Setting up r-cran-digest (0.6.37-1) ... 414s Setting up r-cran-evaluate (1.0.3-1) ... 414s Setting up r-cran-mass (7.3-65-1) ... 414s Setting up r-cran-glue (1.8.0-1) ... 414s Setting up r-cran-xtable (1:1.8-4-2) ... 414s Setting up r-cran-cli (3.6.4-1) ... 414s Setting up r-cran-rbibutils (2.3-1) ... 414s Setting up r-cran-lifecycle (1.0.4+dfsg-1) ... 414s Setting up r-cran-rprojroot (2.0.4-2) ... 414s Setting up gcc (4:14.2.0-1ubuntu1) ... 414s Setting up r-cran-jsonlite (1.9.1+dfsg-1) ... 414s Setting up r-cran-ucminf (1.2.2-1) ... 414s Setting up r-cran-waldo (0.6.1-2) ... 414s Setting up r-cran-matrix (1.7-3-1) ... 414s Setting up g++ (4:14.2.0-1ubuntu1) ... 414s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 414s Setting up build-essential (12.12ubuntu1) ... 414s Setting up r-cran-rcppeigen (0.3.4.0.2-1) ... 414s Setting up r-cran-minqa (1.2.8-1) ... 414s Setting up r-cran-callr (3.7.6-1) ... 414s Setting up r-cran-ordinal (2023.12-4.1-1) ... 414s Setting up r-cran-desc (1.4.3-1) ... 414s Setting up r-cran-rdpack (2.6.3-1) ... 414s Setting up gfortran (4:14.2.0-1ubuntu1) ... 414s update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f95 (f95) in auto mode 414s update-alternatives: warning: skip creation of /usr/share/man/man1/f95.1.gz because associated file /usr/share/man/man1/gfortran.1.gz (of link group f95) doesn't exist 414s update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f77 (f77) in auto mode 414s update-alternatives: warning: skip creation of /usr/share/man/man1/f77.1.gz because associated file /usr/share/man/man1/gfortran.1.gz (of link group f77) doesn't exist 414s Setting up r-cran-pkgbuild (1.4.6-1) ... 414s Setting up r-cran-reformulas (0.4.0-1) ... 414s Setting up r-cran-pkgload (1.4.0-1) ... 414s Setting up r-base-dev (4.4.3-1) ... 414s Setting up r-cran-lme4 (1.1-36-1) ... 414s Setting up r-cran-testthat (3.2.3-1) ... 414s Setting up pkg-r-autopkgtest (20231212ubuntu1) ... 414s Processing triggers for libc-bin (2.41-6ubuntu1) ... 414s Processing triggers for man-db (2.13.0-1) ... 415s Processing triggers for install-info (7.1.1-1) ... 417s autopkgtest [10:52:38]: test pkg-r-autopkgtest: /usr/share/dh-r/pkg-r-autopkgtest 417s autopkgtest [10:52:38]: test pkg-r-autopkgtest: [----------------------- 417s Test: Try to load the R library ordinal 417s 417s R version 4.4.3 (2025-02-28) -- "Trophy Case" 417s Copyright (C) 2025 The R Foundation for Statistical Computing 417s Platform: aarch64-unknown-linux-gnu 417s 417s R is free software and comes with ABSOLUTELY NO WARRANTY. 417s You are welcome to redistribute it under certain conditions. 417s Type 'license()' or 'licence()' for distribution details. 417s 417s R is a collaborative project with many contributors. 417s Type 'contributors()' for more information and 417s 'citation()' on how to cite R or R packages in publications. 417s 417s Type 'demo()' for some demos, 'help()' for on-line help, or 417s 'help.start()' for an HTML browser interface to help. 417s Type 'q()' to quit R. 417s 418s > library('ordinal') 419s > 419s > 419s Other tests are currently unsupported! 419s They will be progressively added. 419s autopkgtest [10:52:40]: test pkg-r-autopkgtest: -----------------------] 419s autopkgtest [10:52:40]: test pkg-r-autopkgtest: - - - - - - - - - - results - - - - - - - - - - 419s pkg-r-autopkgtest PASS 420s autopkgtest [10:52:41]: @@@@@@@@@@@@@@@@@@@@ summary 420s run-unit-test PASS 420s pkg-r-autopkgtest PASS 438s nova [W] Using flock in prodstack6-arm64 438s Creating nova instance adt-questing-arm64-r-cran-ordinal-20250502-104541-juju-7f2275-prod-proposed-migration-environment-2-0d08509f-c403-4acc-ac48-bcdb77e107db from image adt/ubuntu-questing-arm64-server-20250502.img (UUID a0b7b7fd-ad05-4ea9-97eb-0f52dbbe98e1)... 438s nova [W] Timed out waiting for e76a5313-9989-4fb0-89b8-266f8bd76694 to get deleted. 438s nova [W] Using flock in prodstack6-arm64 438s Creating nova instance adt-questing-arm64-r-cran-ordinal-20250502-104541-juju-7f2275-prod-proposed-migration-environment-2-0d08509f-c403-4acc-ac48-bcdb77e107db from image adt/ubuntu-questing-arm64-server-20250502.img (UUID a0b7b7fd-ad05-4ea9-97eb-0f52dbbe98e1)... 438s nova [W] Timed out waiting for a731d763-cc11-45b1-bc5c-dcdec5276c5b to get deleted.