|
a |
|
b/partyMod/tests/bugfixes.R |
|
|
1 |
|
|
|
2 |
set.seed(290875) |
|
|
3 |
library("party") |
|
|
4 |
library("survival") |
|
|
5 |
|
|
|
6 |
### get rid of the NAMESPACE |
|
|
7 |
attach(asNamespace("party")) |
|
|
8 |
|
|
|
9 |
### check nominal level printing |
|
|
10 |
set.seed(290875) |
|
|
11 |
x <- gl(5, 50) |
|
|
12 |
df <- data.frame(y = c(rnorm(50, 0), rnorm(50, 1), rnorm(50, 2), rnorm(50, 3), rnorm(50, 4)), |
|
|
13 |
x = x, z = rnorm(250)) |
|
|
14 |
ctree(y ~ x, data = df) |
|
|
15 |
|
|
|
16 |
### check asymptotic vs. MonteCarlo, especially categorical splits after |
|
|
17 |
### MonteCarlo resampling |
|
|
18 |
a <- ctree(y ~ x + z, data = df, control = ctree_control(stump = TRUE)) |
|
|
19 |
b <- ctree(y ~ x + z, data = df, |
|
|
20 |
control = ctree_control(testtype = "Monte", stump = TRUE)) |
|
|
21 |
stopifnot(isequal(a@tree$psplit, b@tree$psplit)) |
|
|
22 |
stopifnot(isequal(a@tree$criterion$statistic, b@tree$criterion$statistic)) |
|
|
23 |
|
|
|
24 |
### we did not check the hyper parameters |
|
|
25 |
try(cforest_control(minsplit = -1)) |
|
|
26 |
try(cforest_control(ntree = -1)) |
|
|
27 |
try(cforest_control(maxdepth = -1)) |
|
|
28 |
try(cforest_control(nresample = 10)) |
|
|
29 |
|
|
|
30 |
### NA handling for factors and in random forest |
|
|
31 |
### more than one (ordinal) response variable |
|
|
32 |
xo <- ordered(x) |
|
|
33 |
x[sample(1:length(x), 10)] <- NA |
|
|
34 |
cforest(y + xo ~ x + z, data = df, |
|
|
35 |
control = cforest_unbiased(ntree = 50)) |
|
|
36 |
|
|
|
37 |
### make sure minsplit is OK in the presence of missing values |
|
|
38 |
### spotted by Han Lee <Han.Lee@GeodeCapital.com> |
|
|
39 |
load("t1.RData") |
|
|
40 |
tr <- try(ctree(p ~., data = t1)) |
|
|
41 |
stopifnot(!inherits(tr, "try-error")) |
|
|
42 |
|
|
|
43 |
### make sure number of surrogate splits exceeds number of inputs by 1 |
|
|
44 |
### spotted by Henric Nilsson <henric.nilsson@phadia.com> |
|
|
45 |
airq <- subset(airquality, !is.na(Ozone)) |
|
|
46 |
tr <- try(ctree(Ozone ~ Wind, data = airq, |
|
|
47 |
controls = ctree_control(maxsurrogate = 3))) |
|
|
48 |
stopifnot(inherits(tr, "try-error")) |
|
|
49 |
|
|
|
50 |
### ctree() used only the first of a multivariate response |
|
|
51 |
### spotted by Henric Nilsson <henric.nilsson@phadia.com> |
|
|
52 |
airq <- subset(airquality, complete.cases(Ozone, Solar.R)) |
|
|
53 |
airOzoSol1 <- ctree(Ozone + Solar.R ~ Wind + Temp + Month + Day, |
|
|
54 |
data = airq) |
|
|
55 |
airOzoSol2 <- ctree(Solar.R + Ozone ~ Wind + Temp + Month + Day, |
|
|
56 |
data = airq) |
|
|
57 |
stopifnot(isequal(airOzoSol1@where, airOzoSol2@where)) |
|
|
58 |
|
|
|
59 |
### one variable with all values missing |
|
|
60 |
dat <- data.frame(y = rnorm(100), x1 = runif(100), x2 = rep(NA, 100)) |
|
|
61 |
ctree(y ~ x1 + x2, data = dat) |
|
|
62 |
|
|
|
63 |
### one factor with only one level |
|
|
64 |
dat$x2 <- factor(rep(0, 100)) |
|
|
65 |
try(ctree(y ~ x1 + x2, data = dat)) |
|
|
66 |
|
|
|
67 |
### weights for sampling without replacement for cforest |
|
|
68 |
### spotted by Carolin Strobl <carolin.strol@stat.uni-muenchen.de> |
|
|
69 |
airq <- subset(airquality, !is.na(Ozone)) |
|
|
70 |
cctrl <- cforest_control(replace = FALSE, fraction = 0.5) |
|
|
71 |
n <- nrow(airq) |
|
|
72 |
w <- double(n) |
|
|
73 |
|
|
|
74 |
|
|
|
75 |
if (FALSE) { |
|
|
76 |
### forest objects have weights remove in 0.9-13 |
|
|
77 |
|
|
|
78 |
### case weights |
|
|
79 |
x <- runif(w) |
|
|
80 |
w[x > 0.5] <- 1 |
|
|
81 |
w[x > 0.9] <- 2 |
|
|
82 |
|
|
|
83 |
rf <- cforest(Ozone ~ .,data = airq, weights = w, control = cctrl) |
|
|
84 |
rfw <- sapply(rf@ensemble, function(x) x[[2]]) |
|
|
85 |
stopifnot(all(colSums(rfw) == ceiling(sum(w) / 2))) |
|
|
86 |
stopifnot(max(abs(rfw[w == 0,])) == 0) |
|
|
87 |
|
|
|
88 |
### real weights |
|
|
89 |
w <- runif(n) |
|
|
90 |
w[1:10] <- 0 |
|
|
91 |
rf <- cforest(Ozone ~ .,data = airq, weights = w, control = cctrl) |
|
|
92 |
rfw <- sapply(rf@ensemble, function(x) x[[2]]) |
|
|
93 |
stopifnot(all(colSums(rfw) == ceiling(sum(w > 0) / 2))) |
|
|
94 |
stopifnot(max(abs(rfw[w == 0,])) == 0) |
|
|
95 |
} |
|
|
96 |
|
|
|
97 |
### cforest with multivariate response |
|
|
98 |
df <- data.frame(y1 = rnorm(100), y2 = rnorm(100), x1 = runif(100), x2 = runif(100)) |
|
|
99 |
df$y1[df$x1 < 0.5] <- df$y1[df$x1 < 0.5] + 1 |
|
|
100 |
cf <- cforest(y1 + y2 ~ x1 + x2, data = df) |
|
|
101 |
pr <- predict(cf) |
|
|
102 |
stopifnot(length(pr) == nrow(df) || lengthl(pr[[1]]) != 2) |
|
|
103 |
|
|
|
104 |
### varimp with ordered response |
|
|
105 |
### spotted by Max Kuhn <Max.Kuhn@pfizer.com> |
|
|
106 |
data("mammoexp", package = "TH.data") |
|
|
107 |
test <- cforest(ME ~ ., data = mammoexp, control = cforest_unbiased(ntree = 50)) |
|
|
108 |
stopifnot(sum(abs(varimp(test))) > 0) |
|
|
109 |
|
|
|
110 |
### missing values in factors lead to segfaults on 64 bit systems |
|
|
111 |
### spotted by Carolin Strobl <carolin.strobl@lme.de> |
|
|
112 |
y <- rnorm(100) |
|
|
113 |
x <- gl(2, 50) |
|
|
114 |
z <- gl(2, 50)[sample(1:100)] |
|
|
115 |
y <- y + (x == "1") * 3 |
|
|
116 |
xNA <- x |
|
|
117 |
xNA[1:2] <- NA |
|
|
118 |
ctree(y ~ xNA ) |
|
|
119 |
|
|
|
120 |
|
|
|
121 |
y <- rnorm(100) |
|
|
122 |
x <- y + rnorm(100, sd = 0.1) |
|
|
123 |
|
|
|
124 |
tmp <- data.frame(x, y) |
|
|
125 |
|
|
|
126 |
x[sample(1:100)[1:10]] <- NA |
|
|
127 |
|
|
|
128 |
ct1 <- ctree(y ~ x, data = tmp) |
|
|
129 |
ct2 <- ctree(y ~ x, data = tmp[complete.cases(tmp),]) |
|
|
130 |
w <- as.double(complete.cases(tmp)) |
|
|
131 |
ct3 <- ctree(y ~ x, data = tmp, weights = w) |
|
|
132 |
|
|
|
133 |
xx <- data.frame(x = rnorm(100)) |
|
|
134 |
t1 <- max(abs(predict(ct2, newdata = xx) - predict(ct3, newdata = xx))) == 0 |
|
|
135 |
t2 <- nterminal(ct1@tree) == nterminal(ct2@tree) |
|
|
136 |
t3 <- nterminal(ct3@tree) == nterminal(ct1@tree) |
|
|
137 |
t4 <- all.equal(ct2@tree$psplit, ct1@tree$psplit) |
|
|
138 |
stopifnot(t1 && t2 && t3 && t4) |
|
|
139 |
|
|
|
140 |
y <- rnorm(100) |
|
|
141 |
x <- cut(y, c(-Inf, -1, 0, 1, Inf)) |
|
|
142 |
|
|
|
143 |
tmp <- data.frame(x, y) |
|
|
144 |
|
|
|
145 |
x[sample(1:100)[1:10]] <- NA |
|
|
146 |
|
|
|
147 |
ct1 <- ctree(y ~ x, data = tmp) |
|
|
148 |
ct2 <- ctree(y ~ x, data = tmp[complete.cases(tmp),]) |
|
|
149 |
w <- as.double(complete.cases(tmp)) |
|
|
150 |
ct3 <- ctree(y ~ x, data = tmp, weights = w) |
|
|
151 |
|
|
|
152 |
stopifnot(all.equal(ct2@tree$psplit, ct1@tree$psplit)) |
|
|
153 |
stopifnot(all.equal(ct2@tree$psplit, ct3@tree$psplit)) |
|
|
154 |
|
|
|
155 |
### predictions for obs with zero weights |
|
|
156 |
### spotted by Mark Difford <mark_difford@yahoo.co.uk> |
|
|
157 |
airq <- subset(airquality, !is.na(Ozone)) |
|
|
158 |
w <- rep(1, nrow(airq)) |
|
|
159 |
w[1:5] <- 0 |
|
|
160 |
|
|
|
161 |
ctw <- ctree(Ozone ~ ., data = airq, weights = w) |
|
|
162 |
stopifnot(all.equal(predict(ctw)[1:5], predict(ctw, newdata = airq)[1:5])) |
|
|
163 |
rfw <- cforest(Ozone ~ ., data = airq, weights = w) |
|
|
164 |
stopifnot(all.equal(predict(rfw)[1:5], predict(rfw, newdata = airq)[1:5])) |
|
|
165 |
|
|
|
166 |
### more surrogate splits than available requested |
|
|
167 |
### spotted by Henric Nilsson <henric.nilsson@sorch.se> |
|
|
168 |
airq <- data.frame(airq, |
|
|
169 |
x1 = factor(ifelse(runif(nrow(airq)) < 0.5, 0, 1)), |
|
|
170 |
x2 = factor(ifelse(runif(nrow(airq)) < 0.5, 0, 1)), |
|
|
171 |
x3 = factor(ifelse(runif(nrow(airq)) < 0.5, 0, 1))) |
|
|
172 |
|
|
|
173 |
foo <- function(nm) |
|
|
174 |
ctree(Ozone ~ ., data = airq, |
|
|
175 |
controls = ctree_control(maxsurrogate = nm)) |
|
|
176 |
foo(4) |
|
|
177 |
try(foo(5)) |
|
|
178 |
try(foo(6)) |
|
|
179 |
|
|
|
180 |
### variance = 0 due to constant variables |
|
|
181 |
### spotted by Sebastian Wietzke <Sebastian.Wietzke@axa.de> |
|
|
182 |
v <- rep(0,20) |
|
|
183 |
w <- rep(0,20) |
|
|
184 |
x <- 1:20 |
|
|
185 |
y <- rep(1,20) |
|
|
186 |
z <- c(4,5,8,2,6,1,3,6,8,2,5,8,9,3,5,8,9,4,6,8) |
|
|
187 |
tmp <- ctree(z ~ v+w+x+y,controls = ctree_control(mincriterion = 0.80, |
|
|
188 |
minsplit = 2, minbucket = 1, testtype = "Univariate", teststat = "quad")) |
|
|
189 |
stopifnot(all(tmp@tree$criterion$criterion[c(1,2,4)] == 0)) |
|
|
190 |
|
|
|
191 |
### optimal split in last observation lead to selection of suboptimal split |
|
|
192 |
data("GlaucomaM", package = "TH.data") |
|
|
193 |
tmp <- subset(GlaucomaM, vari <= 0.059) |
|
|
194 |
weights <- rep(1.0, nrow(tmp)) |
|
|
195 |
stopifnot(all.equal(Split(tmp$vasg, tmp$Class, weights, |
|
|
196 |
ctree_control()@splitctrl)[[1]], 0.066)) |
|
|
197 |
|
|
|
198 |
### model.matrix.survReg was missing from modeltools |
|
|
199 |
data("GBSG2", package = "TH.data") |
|
|
200 |
nloglik <- function(x) -logLik(x) |
|
|
201 |
GBSG2$time <- GBSG2$time/365 |
|
|
202 |
mobGBSG2 <- mob(Surv(time, cens) ~ horTh + pnodes | progrec + menostat + |
|
|
203 |
estrec + menostat + age + tsize + tgrade, data = GBSG2, model = survReg, |
|
|
204 |
control = mob_control(objfun = nloglik, minsplit = 40)) |
|
|
205 |
plot(mobGBSG2, terminal = node_scatterplot, tp_args = list(yscale = c(-0.1, 11))) |
|
|
206 |
|
|
|
207 |
### factors were evaluated for surrogate splits |
|
|
208 |
data("Ozone", package = "mlbench") |
|
|
209 |
Ozone$V2 <- ordered(Ozone$V2) |
|
|
210 |
Ozone <- subset(Ozone, !is.na(V4)) |
|
|
211 |
rf <- cforest(V4 ~ ., data = Ozone, control = cforest_unbiased(maxsurrogate = 7)) |
|
|
212 |
|
|
|
213 |
### scores for response |
|
|
214 |
### spotted and fixed by Silke Janitza <janitza@ibe.med.uni-muenchen.de> |
|
|
215 |
tmp <- data.frame(y = gl(3, 10, ordered = TRUE), x = gl(3, 10, ordered = TRUE)) |
|
|
216 |
ct <- ctree(y ~ x, data = tmp, scores = list(y = c(0, 10, 11), x = c(1, 2, 5))) |
|
|
217 |
stopifnot(isTRUE(all.equal(ct@responses@scores, list(y = c(0, 10, 11))))) |
|
|
218 |
|
|
|
219 |
### deal with empty levels for teststat = "quad" by |
|
|
220 |
### removing elements of the teststatistic with zero variance |
|
|
221 |
### reported by Wei-Yin Loh <loh@stat.wisc.edu> |
|
|
222 |
tdata <- |
|
|
223 |
structure(list(ytrain = structure(c(3L, 7L, 3L, 2L, 1L, 6L, 2L, |
|
|
224 |
1L, 1L, 2L, 1L, 2L, 3L, 3L, 2L, 1L, 2L, 6L, 2L, 4L, 6L, 1L, 2L, |
|
|
225 |
3L, 7L, 6L, 4L, 6L, 2L, 2L, 1L, 2L, 6L, 1L, 7L, 1L, 3L, 6L, 2L, |
|
|
226 |
1L, 7L, 2L, 7L, 2L, 3L, 2L, 1L, 1L, 3L, 1L, 6L, 2L, 2L, 2L, 2L, |
|
|
227 |
2L, 1L, 1L, 6L, 6L, 7L, 2L, 2L, 2L, 2L, 2L, 1L, 3L, 6L, 5L, 1L, |
|
|
228 |
1L, 4L, 7L, 2L, 3L, 3L, 3L, 1L, 8L, 1L, 6L, 2L, 8L, 3L, 4L, 6L, |
|
|
229 |
2L, 7L, 3L, 6L, 6L, 1L, 1L, 2L, 6L, 3L, 3L, 1L, 2L, 3L, 1L, 2L, |
|
|
230 |
7L, 2L, 3L, 6L, 2L, 5L, 2L, 2L, 2L, 1L, 3L, 3L, 7L, 3L, 2L, 3L, |
|
|
231 |
3L, 1L, 6L, 1L, 1L, 1L, 7L, 1L, 3L, 7L, 6L, 1L, 3L, 3L, 6L, 4L, |
|
|
232 |
2L, 3L, 2L, 8L, 3L, 4L, 2L, 2L, 2L, 3L, 2L, 2L, 2L, 3L, 4L, 6L, |
|
|
233 |
4L, 8L, 2L, 2L, 3L, 3L, 2L, 3L, 6L, 2L, 1L, 2L, 2L, 7L, 2L, 1L, |
|
|
234 |
1L, 7L, 2L, 7L, 6L, 6L, 6L), .Label = c("0", "1", "2", "3", "4", |
|
|
235 |
"5", "6", "7"), class = "factor"), landmass = c(5L, 3L, 4L, 6L, |
|
|
236 |
3L, 4L, 1L, 2L, 2L, 6L, 3L, 1L, 5L, 5L, 1L, 3L, 1L, 4L, 1L, 5L, |
|
|
237 |
4L, 2L, 1L, 5L, 3L, 4L, 5L, 4L, 4L, 1L, 4L, 1L, 4L, 2L, 5L, 2L, |
|
|
238 |
4L, 4L, 6L, 1L, 1L, 3L, 3L, 3L, 4L, 1L, 1L, 2L, 4L, 1L, 4L, 4L, |
|
|
239 |
3L, 2L, 6L, 3L, 3L, 2L, 4L, 4L, 3L, 3L, 3L, 3L, 1L, 6L, 1L, 4L, |
|
|
240 |
4L, 2L, 1L, 1L, 5L, 3L, 3L, 6L, 5L, 5L, 3L, 5L, 3L, 4L, 1L, 5L, |
|
|
241 |
5L, 5L, 4L, 6L, 5L, 5L, 4L, 4L, 3L, 3L, 4L, 4L, 5L, 5L, 3L, 6L, |
|
|
242 |
4L, 1L, 6L, 5L, 1L, 4L, 4L, 6L, 5L, 3L, 1L, 6L, 1L, 4L, 4L, 5L, |
|
|
243 |
5L, 3L, 5L, 5L, 2L, 6L, 2L, 2L, 6L, 3L, 1L, 5L, 3L, 4L, 4L, 5L, |
|
|
244 |
4L, 4L, 5L, 6L, 4L, 4L, 5L, 5L, 5L, 1L, 1L, 1L, 4L, 2L, 3L, 3L, |
|
|
245 |
5L, 5L, 4L, 5L, 4L, 6L, 2L, 4L, 5L, 1L, 5L, 4L, 3L, 2L, 1L, 1L, |
|
|
246 |
5L, 6L, 3L, 2L, 5L, 6L, 3L, 4L, 4L, 4L), zone = c(1L, 1L, 1L, |
|
|
247 |
3L, 1L, 2L, 4L, 3L, 3L, 2L, 1L, 4L, 1L, 1L, 4L, 1L, 4L, 1L, 4L, |
|
|
248 |
1L, 2L, 3L, 4L, 1L, 1L, 4L, 1L, 2L, 1L, 4L, 4L, 4L, 1L, 3L, 1L, |
|
|
249 |
4L, 2L, 2L, 3L, 4L, 4L, 1L, 1L, 1L, 1L, 4L, 4L, 3L, 1L, 4L, 1L, |
|
|
250 |
1L, 4L, 3L, 2L, 1L, 1L, 4L, 2L, 4L, 1L, 1L, 4L, 1L, 4L, 1L, 4L, |
|
|
251 |
4L, 4L, 4L, 4L, 4L, 1L, 1L, 4L, 2L, 1L, 1L, 4L, 1L, 1L, 4L, 4L, |
|
|
252 |
1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 4L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, |
|
|
253 |
1L, 4L, 4L, 1L, 1L, 4L, 4L, 2L, 2L, 1L, 1L, 4L, 2L, 4L, 1L, 1L, |
|
|
254 |
1L, 1L, 1L, 1L, 1L, 4L, 2L, 3L, 3L, 1L, 1L, 4L, 1L, 1L, 2L, 1L, |
|
|
255 |
1L, 4L, 4L, 1L, 2L, 1L, 2L, 1L, 1L, 1L, 4L, 4L, 4L, 1L, 4L, 1L, |
|
|
256 |
1L, 1L, 1L, 2L, 1L, 1L, 2L, 4L, 1L, 1L, 4L, 1L, 1L, 4L, 3L, 4L, |
|
|
257 |
4L, 1L, 2L, 1L, 4L, 1L, 3L, 1L, 2L, 2L, 2L), area = c(648L, 29L, |
|
|
258 |
2388L, 0L, 0L, 1247L, 0L, 2777L, 2777L, 7690L, 84L, 19L, 1L, |
|
|
259 |
143L, 0L, 31L, 23L, 113L, 0L, 47L, 600L, 8512L, 0L, 6L, 111L, |
|
|
260 |
274L, 678L, 28L, 474L, 9976L, 4L, 0L, 623L, 757L, 9561L, 1139L, |
|
|
261 |
2L, 342L, 0L, 51L, 115L, 9L, 128L, 43L, 22L, 0L, 49L, 284L, 1001L, |
|
|
262 |
21L, 28L, 1222L, 1L, 12L, 18L, 337L, 547L, 91L, 268L, 10L, 108L, |
|
|
263 |
249L, 0L, 132L, 0L, 0L, 109L, 246L, 36L, 215L, 28L, 112L, 1L, |
|
|
264 |
93L, 103L, 1904L, 1648L, 435L, 70L, 21L, 301L, 323L, 11L, 372L, |
|
|
265 |
98L, 181L, 583L, 0L, 236L, 10L, 30L, 111L, 0L, 3L, 587L, 118L, |
|
|
266 |
333L, 0L, 0L, 0L, 1031L, 1973L, 1L, 1566L, 0L, 447L, 783L, 0L, |
|
|
267 |
140L, 41L, 0L, 268L, 128L, 1267L, 925L, 121L, 195L, 324L, 212L, |
|
|
268 |
804L, 76L, 463L, 407L, 1285L, 300L, 313L, 9L, 11L, 237L, 26L, |
|
|
269 |
0L, 2150L, 196L, 72L, 1L, 30L, 637L, 1221L, 99L, 288L, 66L, 0L, |
|
|
270 |
0L, 0L, 2506L, 63L, 450L, 41L, 185L, 36L, 945L, 514L, 57L, 1L, |
|
|
271 |
5L, 164L, 781L, 0L, 84L, 236L, 245L, 178L, 0L, 9363L, 22402L, |
|
|
272 |
15L, 0L, 912L, 333L, 3L, 256L, 905L, 753L, 391L), population = c(16L, |
|
|
273 |
3L, 20L, 0L, 0L, 7L, 0L, 28L, 28L, 15L, 8L, 0L, 0L, 90L, 0L, |
|
|
274 |
10L, 0L, 3L, 0L, 1L, 1L, 119L, 0L, 0L, 9L, 7L, 35L, 4L, 8L, 24L, |
|
|
275 |
0L, 0L, 2L, 11L, 1008L, 28L, 0L, 2L, 0L, 2L, 10L, 1L, 15L, 5L, |
|
|
276 |
0L, 0L, 6L, 8L, 47L, 5L, 0L, 31L, 0L, 0L, 1L, 5L, 54L, 0L, 1L, |
|
|
277 |
1L, 17L, 61L, 0L, 10L, 0L, 0L, 8L, 6L, 1L, 1L, 6L, 4L, 5L, 11L, |
|
|
278 |
0L, 157L, 39L, 14L, 3L, 4L, 57L, 7L, 2L, 118L, 2L, 6L, 17L, 0L, |
|
|
279 |
3L, 3L, 1L, 1L, 0L, 0L, 9L, 6L, 13L, 0L, 0L, 0L, 2L, 77L, 0L, |
|
|
280 |
2L, 0L, 20L, 12L, 0L, 16L, 14L, 0L, 2L, 3L, 5L, 56L, 18L, 9L, |
|
|
281 |
4L, 1L, 84L, 2L, 3L, 3L, 14L, 48L, 36L, 3L, 0L, 22L, 5L, 0L, |
|
|
282 |
9L, 6L, 3L, 3L, 0L, 5L, 29L, 39L, 2L, 15L, 0L, 0L, 0L, 20L, 0L, |
|
|
283 |
8L, 6L, 10L, 18L, 18L, 49L, 2L, 0L, 1L, 7L, 45L, 0L, 1L, 13L, |
|
|
284 |
56L, 3L, 0L, 231L, 274L, 0L, 0L, 15L, 60L, 0L, 22L, 28L, 6L, |
|
|
285 |
8L), language = structure(c(10L, 6L, 8L, 1L, 6L, 10L, 1L, 2L, |
|
|
286 |
2L, 1L, 4L, 1L, 8L, 6L, 1L, 6L, 1L, 3L, 1L, 10L, 10L, 6L, 1L, |
|
|
287 |
10L, 5L, 3L, 10L, 10L, 3L, 1L, 6L, 1L, 10L, 2L, 7L, 2L, 3L, 10L, |
|
|
288 |
1L, 2L, 2L, 6L, 5L, 6L, 3L, 1L, 2L, 2L, 8L, 2L, 10L, 10L, 6L, |
|
|
289 |
1L, 1L, 9L, 3L, 3L, 10L, 1L, 4L, 4L, 1L, 6L, 1L, 1L, 2L, 3L, |
|
|
290 |
6L, 1L, 3L, 2L, 7L, 9L, 6L, 10L, 6L, 8L, 1L, 10L, 6L, 3L, 1L, |
|
|
291 |
9L, 8L, 10L, 10L, 1L, 10L, 8L, 10L, 10L, 4L, 4L, 10L, 10L, 10L, |
|
|
292 |
10L, 10L, 10L, 8L, 2L, 10L, 10L, 1L, 8L, 10L, 10L, 10L, 6L, 6L, |
|
|
293 |
1L, 2L, 3L, 10L, 10L, 8L, 6L, 8L, 6L, 2L, 1L, 2L, 2L, 10L, 5L, |
|
|
294 |
2L, 8L, 6L, 10L, 6L, 8L, 3L, 1L, 7L, 1L, 10L, 6L, 10L, 8L, 10L, |
|
|
295 |
1L, 1L, 1L, 8L, 6L, 6L, 4L, 8L, 7L, 10L, 10L, 3L, 10L, 1L, 8L, |
|
|
296 |
9L, 1L, 8L, 10L, 1L, 2L, 1L, 1L, 5L, 6L, 6L, 2L, 10L, 1L, 6L, |
|
|
297 |
10L, 10L, 10L), .Label = c("1", "2", "3", "4", "5", "6", "7", |
|
|
298 |
"8", "9", "10"), class = "factor"), bars = c(0L, 0L, 2L, 0L, |
|
|
299 |
3L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 3L, 3L, 0L, 0L, 0L, 0L, |
|
|
300 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 3L, 2L, 1L, 0L, 1L, 0L, 0L, 0L, |
|
|
301 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
302 |
0L, 0L, 0L, 0L, 3L, 3L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 3L, 3L, |
|
|
303 |
1L, 0L, 2L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 3L, 0L, 3L, 3L, 0L, 0L, |
|
|
304 |
0L, 0L, 0L, 0L, 0L, 0L, 2L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 2L, 0L, |
|
|
305 |
0L, 3L, 0L, 3L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 3L, 0L, |
|
|
306 |
0L, 0L, 0L, 1L, 0L, 0L, 0L, 3L, 0L, 0L, 0L, 0L, 3L, 3L, 0L, 0L, |
|
|
307 |
3L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 2L, 0L, 0L, 5L, 0L, 0L, 0L, 0L, |
|
|
308 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, |
|
|
309 |
0L, 0L, 2L, 0L, 0L, 0L, 0L, 0L, 3L, 0L), stripes = c(3L, 0L, |
|
|
310 |
0L, 0L, 0L, 2L, 1L, 3L, 3L, 0L, 3L, 3L, 0L, 0L, 0L, 0L, 2L, 0L, |
|
|
311 |
0L, 0L, 5L, 0L, 0L, 0L, 3L, 2L, 0L, 0L, 0L, 0L, 2L, 0L, 0L, 2L, |
|
|
312 |
0L, 3L, 0L, 0L, 0L, 5L, 5L, 0L, 0L, 0L, 0L, 0L, 0L, 3L, 3L, 3L, |
|
|
313 |
3L, 3L, 0L, 0L, 0L, 0L, 0L, 0L, 3L, 5L, 3L, 3L, 1L, 9L, 0L, 0L, |
|
|
314 |
0L, 0L, 2L, 0L, 0L, 3L, 0L, 3L, 0L, 2L, 3L, 3L, 0L, 2L, 0L, 0L, |
|
|
315 |
0L, 0L, 3L, 0L, 5L, 0L, 3L, 2L, 0L, 11L, 2L, 3L, 2L, 3L, 14L, |
|
|
316 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 5L, 3L, 0L, 3L, 1L, 0L, 3L, |
|
|
317 |
3L, 0L, 5L, 3L, 0L, 2L, 0L, 0L, 0L, 3L, 0L, 0L, 2L, 5L, 0L, 0L, |
|
|
318 |
0L, 3L, 0L, 0L, 3L, 2L, 0L, 0L, 3L, 0L, 3L, 0L, 0L, 0L, 0L, 3L, |
|
|
319 |
5L, 0L, 0L, 3L, 0L, 0L, 5L, 5L, 0L, 0L, 0L, 0L, 0L, 3L, 6L, 0L, |
|
|
320 |
9L, 0L, 13L, 0L, 0L, 0L, 3L, 0L, 0L, 3L, 0L, 0L, 7L), colours = c(5L, |
|
|
321 |
3L, 3L, 5L, 3L, 3L, 3L, 2L, 3L, 3L, 2L, 3L, 2L, 2L, 3L, 3L, 8L, |
|
|
322 |
2L, 6L, 4L, 3L, 4L, 6L, 4L, 5L, 3L, 3L, 3L, 3L, 2L, 5L, 6L, 5L, |
|
|
323 |
3L, 2L, 3L, 2L, 3L, 4L, 3L, 3L, 3L, 3L, 2L, 4L, 6L, 3L, 3L, 4L, |
|
|
324 |
2L, 4L, 3L, 3L, 6L, 7L, 2L, 3L, 3L, 3L, 4L, 3L, 3L, 3L, 2L, 3L, |
|
|
325 |
7L, 2L, 3L, 4L, 5L, 2L, 2L, 6L, 3L, 3L, 2L, 3L, 4L, 3L, 2L, 3L, |
|
|
326 |
3L, 3L, 2L, 4L, 2L, 4L, 4L, 3L, 4L, 4L, 3L, 3L, 3L, 3L, 3L, 4L, |
|
|
327 |
3L, 3L, 3L, 2L, 4L, 2L, 3L, 7L, 2L, 5L, 3L, 3L, 3L, 3L, 3L, 2L, |
|
|
328 |
3L, 2L, 3L, 4L, 3L, 3L, 2L, 3L, 4L, 6L, 2L, 4L, 2L, 3L, 2L, 7L, |
|
|
329 |
4L, 4L, 2L, 3L, 3L, 2L, 4L, 2L, 5L, 4L, 4L, 4L, 5L, 4L, 4L, 4L, |
|
|
330 |
4L, 2L, 2L, 4L, 3L, 4L, 3L, 4L, 2L, 3L, 2L, 2L, 6L, 4L, 5L, 3L, |
|
|
331 |
3L, 6L, 3L, 2L, 4L, 4L, 7L, 2L, 3L, 4L, 4L, 4L, 5L), red = c(1L, |
|
|
332 |
1L, 1L, 1L, 1L, 1L, 0L, 0L, 0L, 1L, 1L, 0L, 1L, 1L, 0L, 1L, 1L, |
|
|
333 |
1L, 1L, 1L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, |
|
|
334 |
1L, 1L, 1L, 0L, 1L, 1L, 1L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, |
|
|
335 |
0L, 1L, 1L, 1L, 1L, 1L, 0L, 1L, 1L, 0L, 1L, 1L, 1L, 1L, 0L, 1L, |
|
|
336 |
1L, 0L, 1L, 1L, 1L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 0L, 0L, 1L, |
|
|
337 |
1L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, |
|
|
338 |
1L, 1L, 0L, 0L, 1L, 0L, 1L, 1L, 1L, 1L, 0L, 0L, 1L, 1L, 1L, 0L, |
|
|
339 |
0L, 0L, 1L, 1L, 1L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 0L, 1L, |
|
|
340 |
1L, 1L, 0L, 1L, 0L, 1L, 0L, 0L, 1L, 1L, 1L, 0L, 1L, 0L, 0L, 1L, |
|
|
341 |
1L, 0L, 1L, 1L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, |
|
|
342 |
0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), green = c(1L, |
|
|
343 |
0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, |
|
|
344 |
1L, 1L, 0L, 0L, 1L, 1L, 0L, 1L, 1L, 0L, 1L, 1L, 0L, 1L, 1L, 1L, |
|
|
345 |
0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, |
|
|
346 |
0L, 1L, 1L, 0L, 1L, 1L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 1L, |
|
|
347 |
1L, 0L, 1L, 1L, 1L, 0L, 0L, 1L, 1L, 0L, 0L, 1L, 1L, 1L, 0L, 1L, |
|
|
348 |
1L, 1L, 0L, 1L, 0L, 1L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 1L, 1L, 0L, |
|
|
349 |
1L, 0L, 0L, 1L, 1L, 0L, 0L, 1L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
350 |
1L, 1L, 0L, 1L, 0L, 1L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, |
|
|
351 |
1L, 1L, 1L, 1L, 1L, 0L, 1L, 0L, 1L, 0L, 0L, 1L, 1L, 0L, 1L, 1L, |
|
|
352 |
1L, 0L, 0L, 1L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, |
|
|
353 |
0L, 1L, 0L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 1L, 1L, 1L), blue = c(0L, |
|
|
354 |
0L, 0L, 1L, 1L, 0L, 1L, 1L, 1L, 1L, 0L, 1L, 0L, 0L, 1L, 0L, 1L, |
|
|
355 |
0L, 1L, 0L, 1L, 1L, 1L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, |
|
|
356 |
1L, 0L, 1L, 0L, 0L, 1L, 1L, 1L, 0L, 1L, 0L, 1L, 1L, 1L, 1L, 0L, |
|
|
357 |
1L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 0L, 0L, 0L, 1L, 0L, |
|
|
358 |
1L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, |
|
|
359 |
0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 1L, 1L, 1L, 1L, 0L, 0L, 1L, |
|
|
360 |
0L, 0L, 1L, 0L, 0L, 1L, 1L, 1L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, |
|
|
361 |
0L, 0L, 1L, 0L, 1L, 0L, 0L, 1L, 0L, 1L, 0L, 1L, 0L, 1L, 0L, 1L, |
|
|
362 |
0L, 0L, 0L, 0L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 0L, 0L, 1L, 1L, 0L, |
|
|
363 |
0L, 1L, 0L, 0L, 1L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, |
|
|
364 |
1L, 1L, 1L, 0L, 0L, 0L, 1L, 0L, 1L, 1L, 0L, 0L, 0L), gold = c(1L, |
|
|
365 |
1L, 0L, 1L, 1L, 1L, 0L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 1L, 1L, 1L, |
|
|
366 |
0L, 1L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 0L, 0L, 1L, 0L, 1L, 1L, 1L, |
|
|
367 |
0L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 1L, 1L, |
|
|
368 |
0L, 0L, 1L, 0L, 1L, 1L, 0L, 0L, 0L, 1L, 0L, 1L, 1L, 1L, 0L, 1L, |
|
|
369 |
1L, 0L, 1L, 1L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
370 |
0L, 1L, 0L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, |
|
|
371 |
0L, 0L, 0L, 1L, 0L, 0L, 1L, 1L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, |
|
|
372 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 1L, |
|
|
373 |
1L, 1L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 0L, |
|
|
374 |
1L, 1L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, |
|
|
375 |
1L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 0L, 1L, 1L, 0L, 1L), white = c(1L, |
|
|
376 |
0L, 1L, 1L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 1L, |
|
|
377 |
0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 0L, 1L, 1L, 0L, 1L, 0L, 1L, 1L, |
|
|
378 |
1L, 0L, 0L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 0L, 1L, |
|
|
379 |
1L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 0L, 1L, 0L, 0L, 1L, 1L, 0L, |
|
|
380 |
1L, 1L, 0L, 0L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, |
|
|
381 |
1L, 0L, 1L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 0L, 1L, 1L, 0L, 1L, |
|
|
382 |
1L, 1L, 1L, 0L, 1L, 1L, 0L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, |
|
|
383 |
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, |
|
|
384 |
0L, 0L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 0L, 1L, 1L, 1L, 1L, |
|
|
385 |
1L, 0L, 1L, 1L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, |
|
|
386 |
1L, 1L, 1L, 0L, 0L, 1L, 1L, 0L, 1L, 1L, 0L, 0L, 1L), black = c(1L, |
|
|
387 |
1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 1L, 1L, |
|
|
388 |
0L, 1L, 1L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, |
|
|
389 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, |
|
|
390 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, |
|
|
391 |
0L, 0L, 0L, 1L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, |
|
|
392 |
0L, 1L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, |
|
|
393 |
0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
394 |
0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
395 |
1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 1L, 1L, 0L, 1L, |
|
|
396 |
0L, 0L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 1L, 0L, |
|
|
397 |
0L, 0L, 0L, 0L, 1L, 1L, 1L, 0L, 0L, 0L, 0L, 1L, 1L), orange = c(0L, |
|
|
398 |
0L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, |
|
|
399 |
0L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, |
|
|
400 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
401 |
0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
402 |
1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, |
|
|
403 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
404 |
0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, |
|
|
405 |
1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, |
|
|
406 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, |
|
|
407 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, |
|
|
408 |
0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 1L, 0L), mainhue = structure(c(5L, |
|
|
409 |
7L, 5L, 2L, 4L, 7L, 8L, 2L, 2L, 2L, 7L, 2L, 7L, 5L, 2L, 4L, 2L, |
|
|
410 |
5L, 7L, 6L, 2L, 5L, 2L, 4L, 7L, 7L, 7L, 7L, 4L, 7L, 4L, 2L, 4L, |
|
|
411 |
7L, 7L, 4L, 5L, 7L, 2L, 2L, 2L, 8L, 8L, 7L, 2L, 5L, 2L, 4L, 1L, |
|
|
412 |
2L, 5L, 5L, 8L, 2L, 2L, 8L, 8L, 8L, 5L, 7L, 4L, 1L, 8L, 2L, 4L, |
|
|
413 |
2L, 2L, 4L, 4L, 5L, 1L, 2L, 2L, 7L, 2L, 7L, 7L, 7L, 8L, 8L, 8L, |
|
|
414 |
8L, 5L, 8L, 1L, 7L, 7L, 7L, 7L, 7L, 2L, 7L, 7L, 7L, 7L, 7L, 7L, |
|
|
415 |
7L, 7L, 2L, 5L, 5L, 2L, 7L, 2L, 7L, 4L, 2L, 3L, 7L, 8L, 2L, 2L, |
|
|
416 |
6L, 5L, 2L, 7L, 7L, 7L, 5L, 7L, 1L, 7L, 7L, 2L, 8L, 7L, 3L, 7L, |
|
|
417 |
7L, 5L, 5L, 5L, 5L, 8L, 5L, 2L, 6L, 8L, 7L, 4L, 5L, 2L, 5L, 7L, |
|
|
418 |
7L, 2L, 7L, 7L, 7L, 5L, 7L, 5L, 7L, 7L, 7L, 7L, 2L, 5L, 4L, 7L, |
|
|
419 |
8L, 8L, 8L, 7L, 7L, 4L, 7L, 7L, 7L, 7L, 5L, 5L, 5L), .Label = c("black", |
|
|
420 |
"blue", "brown", "gold", "green", "orange", "red", "white"), class = "factor"), |
|
|
421 |
circles = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
422 |
0L, 1L, 0L, 0L, 1L, 0L, 1L, 4L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, |
|
|
423 |
1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, |
|
|
424 |
0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, |
|
|
425 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
426 |
1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, |
|
|
427 |
0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
428 |
0L, 2L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, |
|
|
429 |
0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
430 |
0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
431 |
0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, |
|
|
432 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L), crosses = c(0L, |
|
|
433 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
434 |
0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
435 |
1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, |
|
|
436 |
1L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 2L, 1L, 0L, 0L, 0L, 0L, 0L, |
|
|
437 |
0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, |
|
|
438 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
439 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 2L, 0L, |
|
|
440 |
0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, |
|
|
441 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
442 |
0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, |
|
|
443 |
0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, |
|
|
444 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), saltires = c(0L, 0L, 0L, |
|
|
445 |
0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
446 |
1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, |
|
|
447 |
0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
448 |
0L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
449 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, |
|
|
450 |
0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
451 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, |
|
|
452 |
0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
453 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, |
|
|
454 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
455 |
0L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
456 |
0L, 0L, 0L, 0L, 0L, 0L), quarters = c(0L, 0L, 0L, 0L, 0L, |
|
|
457 |
0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, |
|
|
458 |
0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, |
|
|
459 |
0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
460 |
0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, |
|
|
461 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
462 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, |
|
|
463 |
0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, |
|
|
464 |
0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 4L, 0L, 0L, 0L, 0L, |
|
|
465 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
466 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 1L, 0L, |
|
|
467 |
0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, |
|
|
468 |
0L, 0L, 0L, 0L), sunstars = c(1L, 1L, 1L, 0L, 0L, 1L, 0L, |
|
|
469 |
0L, 1L, 6L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 22L, |
|
|
470 |
0L, 0L, 1L, 1L, 14L, 3L, 1L, 0L, 1L, 4L, 1L, 1L, 5L, 0L, |
|
|
471 |
4L, 1L, 15L, 0L, 1L, 0L, 0L, 0L, 1L, 10L, 0L, 0L, 0L, 0L, |
|
|
472 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 7L, |
|
|
473 |
0L, 0L, 0L, 1L, 0L, 0L, 5L, 0L, 0L, 0L, 0L, 0L, 3L, 0L, 1L, |
|
|
474 |
0L, 0L, 0L, 1L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, |
|
|
475 |
1L, 1L, 0L, 0L, 1L, 1L, 0L, 4L, 1L, 0L, 1L, 1L, 1L, 2L, 0L, |
|
|
476 |
6L, 4L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 1L, 2L, 5L, 1L, 0L, 4L, |
|
|
477 |
0L, 1L, 0L, 2L, 0L, 2L, 0L, 1L, 0L, 5L, 5L, 1L, 0L, 0L, 1L, |
|
|
478 |
0L, 2L, 0L, 0L, 0L, 1L, 0L, 0L, 2L, 1L, 0L, 0L, 1L, 0L, 0L, |
|
|
479 |
1L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 50L, 1L, 0L, 0L, 7L, 1L, |
|
|
480 |
5L, 1L, 0L, 0L, 1L), crescent = c(0L, 0L, 1L, 0L, 0L, 0L, |
|
|
481 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
482 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
483 |
1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
484 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
485 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
486 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
487 |
1L, 1L, 0L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, |
|
|
488 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
489 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
490 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, |
|
|
491 |
1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
492 |
0L, 0L, 0L), triangle = c(0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, |
|
|
493 |
0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
494 |
1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
495 |
0L, 0L, 1L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, |
|
|
496 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, |
|
|
497 |
0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, |
|
|
498 |
0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
499 |
0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
500 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 0L, 1L, 0L, |
|
|
501 |
0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 1L, 1L, |
|
|
502 |
0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, |
|
|
503 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
504 |
1L), icon = c(1L, 0L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, |
|
|
505 |
0L, 0L, 0L, 1L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 1L, 1L, 1L, 0L, |
|
|
506 |
1L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, |
|
|
507 |
1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, |
|
|
508 |
0L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, |
|
|
509 |
0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, |
|
|
510 |
1L, 1L, 0L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, |
|
|
511 |
0L, 0L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
512 |
0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, |
|
|
513 |
1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, |
|
|
514 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, |
|
|
515 |
0L, 1L, 0L, 1L, 0L, 1L, 1L, 0L, 0L, 0L, 1L, 0L, 1L), animate = c(0L, |
|
|
516 |
1L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
517 |
1L, 0L, 1L, 1L, 0L, 0L, 1L, 1L, 1L, 0L, 1L, 0L, 0L, 1L, 1L, |
|
|
518 |
1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, |
|
|
519 |
0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
520 |
0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, |
|
|
521 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, |
|
|
522 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 0L, |
|
|
523 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
524 |
1L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
525 |
0L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
526 |
0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 1L, |
|
|
527 |
0L, 1L, 0L, 0L, 0L, 1L, 1L, 1L), text = c(0L, 0L, 0L, 0L, |
|
|
528 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, |
|
|
529 |
0L, 0L, 1L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, |
|
|
530 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, |
|
|
531 |
0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
532 |
0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, |
|
|
533 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
534 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
535 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, |
|
|
536 |
0L, 0L, 0L, 0L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
537 |
0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
538 |
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, |
|
|
539 |
0L, 0L, 0L, 0L, 0L), topleft = structure(c(1L, 6L, 4L, 2L, |
|
|
540 |
2L, 6L, 7L, 2L, 2L, 7L, 6L, 2L, 7L, 4L, 2L, 1L, 6L, 4L, 7L, |
|
|
541 |
5L, 2L, 4L, 7L, 7L, 7L, 6L, 2L, 7L, 4L, 6L, 6L, 7L, 2L, 2L, |
|
|
542 |
6L, 3L, 4L, 6L, 7L, 2L, 2L, 7L, 7L, 6L, 7L, 4L, 2L, 3L, 6L, |
|
|
543 |
2L, 4L, 4L, 7L, 7L, 7L, 7L, 2L, 2L, 4L, 6L, 1L, 1L, 7L, 2L, |
|
|
544 |
6L, 6L, 2L, 6L, 6L, 1L, 1L, 2L, 7L, 6L, 2L, 6L, 4L, 6L, 4L, |
|
|
545 |
2L, 4L, 6L, 3L, 7L, 1L, 6L, 1L, 6L, 6L, 6L, 4L, 2L, 2L, 6L, |
|
|
546 |
7L, 1L, 2L, 6L, 7L, 2L, 4L, 4L, 2L, 6L, 7L, 6L, 4L, 2L, 2L, |
|
|
547 |
6L, 7L, 7L, 2L, 5L, 4L, 2L, 6L, 6L, 6L, 7L, 7L, 6L, 6L, 6L, |
|
|
548 |
2L, 7L, 6L, 7L, 2L, 6L, 4L, 4L, 4L, 4L, 6L, 2L, 2L, 5L, 7L, |
|
|
549 |
6L, 3L, 4L, 2L, 2L, 6L, 4L, 2L, 6L, 6L, 2L, 4L, 6L, 6L, 7L, |
|
|
550 |
7L, 6L, 6L, 7L, 6L, 1L, 7L, 7L, 7L, 2L, 6L, 1L, 3L, 3L, 6L, |
|
|
551 |
2L, 2L, 4L, 4L, 4L), .Label = c("black", "blue", "gold", |
|
|
552 |
"green", "orange", "red", "white"), class = "factor"), botright = structure(c(5L, |
|
|
553 |
7L, 8L, 7L, 7L, 1L, 2L, 2L, 2L, 2L, 7L, 2L, 7L, 5L, 2L, 7L, |
|
|
554 |
7L, 5L, 7L, 7L, 2L, 5L, 2L, 4L, 7L, 5L, 7L, 8L, 4L, 7L, 5L, |
|
|
555 |
2L, 4L, 7L, 7L, 7L, 5L, 7L, 2L, 2L, 2L, 8L, 7L, 7L, 5L, 5L, |
|
|
556 |
2L, 7L, 1L, 2L, 7L, 7L, 8L, 2L, 2L, 8L, 7L, 7L, 2L, 5L, 4L, |
|
|
557 |
4L, 7L, 2L, 7L, 7L, 2L, 5L, 5L, 5L, 7L, 2L, 2L, 5L, 2L, 8L, |
|
|
558 |
7L, 1L, 6L, 2L, 7L, 5L, 4L, 8L, 5L, 7L, 5L, 2L, 7L, 7L, 2L, |
|
|
559 |
7L, 7L, 2L, 5L, 5L, 8L, 7L, 7L, 2L, 5L, 7L, 2L, 7L, 2L, 7L, |
|
|
560 |
4L, 2L, 2L, 2L, 8L, 2L, 2L, 5L, 5L, 2L, 1L, 7L, 5L, 5L, 8L, |
|
|
561 |
1L, 2L, 7L, 7L, 7L, 7L, 3L, 7L, 5L, 5L, 5L, 7L, 2L, 8L, 5L, |
|
|
562 |
2L, 2L, 8L, 1L, 4L, 7L, 2L, 5L, 1L, 5L, 2L, 7L, 1L, 7L, 2L, |
|
|
563 |
7L, 5L, 7L, 8L, 7L, 7L, 2L, 1L, 7L, 7L, 8L, 8L, 7L, 7L, 5L, |
|
|
564 |
8L, 7L, 7L, 7L, 7L, 5L, 3L, 5L), .Label = c("black", "blue", |
|
|
565 |
"brown", "gold", "green", "orange", "red", "white"), class = "factor")), .Names = c("ytrain", |
|
|
566 |
"landmass", "zone", "area", "population", "language", "bars", |
|
|
567 |
"stripes", "colours", "red", "green", "blue", "gold", "white", |
|
|
568 |
"black", "orange", "mainhue", "circles", "crosses", "saltires", |
|
|
569 |
"quarters", "sunstars", "crescent", "triangle", "icon", "animate", |
|
|
570 |
"text", "topleft", "botright"), row.names = c(NA, -174L), class = "data.frame") |
|
|
571 |
tdata$language <- factor(tdata$language) |
|
|
572 |
tdata$ytrain <- factor(tdata$ytrain) |
|
|
573 |
|
|
|
574 |
library("coin") |
|
|
575 |
|
|
|
576 |
m <- ctree(ytrain ~ language, data = subset(tdata, language != "8"), |
|
|
577 |
control = ctree_control(testtype = "Univariate", maxdepth = 1L)) |
|
|
578 |
it <- independence_test(ytrain ~ language, data = subset(tdata, language != "8"), |
|
|
579 |
teststat = "quad") |
|
|
580 |
stopifnot(isTRUE(all.equal(m@tree$criterion$statistic, |
|
|
581 |
statistic(it), check.attributes = FALSE))) |
|
|
582 |
|
|
|
583 |
### easier example |
|
|
584 |
levels(tdata$language) <- c(1, 1, 1, 1, 1, 1, 2, 8, 1, 1) |
|
|
585 |
levels(tdata$ytrain) <- c(1, 1, 2, 2, 3, 3, 4, 4, 5, 6) |
|
|
586 |
m <- ctree(ytrain ~ language, data = subset(tdata, language != "8"), |
|
|
587 |
control = ctree_control(testtype = "Univariate", maxdepth = 1L)) |
|
|
588 |
it <- independence_test(ytrain ~ language, data = subset(tdata, language != "8"), |
|
|
589 |
teststat = "quad") |
|
|
590 |
stopifnot(isTRUE(all.equal(m@tree$criterion$statistic, |
|
|
591 |
statistic(it), check.attributes = FALSE))) |
|
|
592 |
|
|
|
593 |
## the whole exercise manually |
|
|
594 |
Y <- model.matrix(~ language - 1, data = subset(tdata, language != "8")) |
|
|
595 |
X <- model.matrix(~ ytrain -1, data = subset(tdata, language != "8")) |
|
|
596 |
w <- rep(1, nrow(X)) |
|
|
597 |
|
|
|
598 |
lin <- coin:::LinearStatistic(Y, X, weights = w) |
|
|
599 |
expcov <- coin:::ExpectCovarLinearStatistic(Y, X, weights = w) |
|
|
600 |
|
|
|
601 |
tmp <- new("LinStatExpectCovar", ncol(Y), ncol(X)) |
|
|
602 |
tmp@linearstatistic <- lin |
|
|
603 |
tmp@expectation <- expcov@expectation |
|
|
604 |
tmp@covariance <- expcov@covariance |
|
|
605 |
|
|
|
606 |
a <- .Call("R_linexpcovReduce", tmp) |
|
|
607 |
|
|
|
608 |
u <- matrix(tmp@linearstatistic - tmp@expectation, nc = 1) |
|
|
609 |
d <- tmp@dimension |
|
|
610 |
u <- matrix(tmp@linearstatistic - tmp@expectation, nc = 1)[1:d,,drop = FALSE] |
|
|
611 |
S <- coin:::MPinv(matrix(as.vector(tmp@covariance[1:d^2]), ncol = d)) |
|
|
612 |
|
|
|
613 |
stat <- t(u) %*% S$MPinv %*% u |
|
|
614 |
stopifnot(isTRUE(all.equal(stat[1,1], statistic(it), |
|
|
615 |
check.attributes = FALSE))) |
|
|
616 |
|
|
|
617 |
x <- matrix(as.vector(tmp@covariance[1:d^2]), ncol = d) |
|
|
618 |
s <- svd(x) |
|
|
619 |
|
|
|
620 |
m <- new("svd_mem", 18L) |
|
|
621 |
m@p <- as.integer(d) |
|
|
622 |
|
|
|
623 |
s2 <- .Call("R_svd", x, m) |
|
|
624 |
|
|
|
625 |
stopifnot(max(abs(s$d - m@s[1:d])) < sqrt(.Machine$double.eps)) |
|
|
626 |
stopifnot(max(abs(s$v - t(matrix(m@v[1:d^2], nrow = d)))) < sqrt(.Machine$double.eps)) |
|
|
627 |
stopifnot(max(abs(s$u - matrix(m@u[1:d^2], nrow = d))) < sqrt(.Machine$double.eps)) |
|
|
628 |
|
|
|
629 |
s2 <- .Call("R_svd", tmp@covariance, m) |
|
|
630 |
|
|
|
631 |
stopifnot(max(abs(s$d - m@s[1:d])) < sqrt(.Machine$double.eps)) |
|
|
632 |
stopifnot(max(abs(s$v - t(matrix(m@v[1:d^2], nrow = d)))) < sqrt(.Machine$double.eps)) |
|
|
633 |
stopifnot(max(abs(s$u - matrix(m@u[1:d^2], nrow = d))) < sqrt(.Machine$double.eps)) |
|
|
634 |
|
|
|
635 |
a <- .Call("R_MPinv", tmp@covariance, sqrt(.Machine$double.eps), m) |
|
|
636 |
|
|
|
637 |
stat <- t(u) %*% matrix(a@MPinv[1:d^2], ncol = d) %*% u |
|
|
638 |
stopifnot(isTRUE(all.equal(stat[1,1], statistic(it), |
|
|
639 |
check.attributes = FALSE))) |