dta$case <- dta$status == "case"
dta$control <- dta$status == "control"
head(dta)
#> ID status driver suburban case control
#> 1 1 case yes yes TRUE FALSE
#> 2 1 control yes no FALSE TRUE
#> 3 2 case yes yes TRUE FALSE
#> 4 2 control yes yes FALSE TRUE
#> 5 3 case yes no TRUE FALSE
#> 6 3 control yes yes FALSE TRUEg_ds <- split(dta_status, list(dta_status$driver, dta_status$suburban))
g_ds
#> $no.no
#> driver suburban case control
#> 7 no no TRUE FALSE
#> 8 no no FALSE TRUE
#> 14 no no FALSE TRUE
#> 16 no no FALSE TRUE
#> 40 no no FALSE TRUE
#> 42 no no FALSE TRUE
#> 45 no no TRUE FALSE
#> 51 no no TRUE FALSE
#> 67 no no TRUE FALSE
#> 86 no no FALSE TRUE
#> 88 no no FALSE TRUE
#> 90 no no FALSE TRUE
#> 91 no no TRUE FALSE
#> 96 no no FALSE TRUE
#> 99 no no TRUE FALSE
#> 100 no no FALSE TRUE
#> 107 no no TRUE FALSE
#> 108 no no FALSE TRUE
#> 109 no no TRUE FALSE
#> 110 no no FALSE TRUE
#> 113 no no TRUE FALSE
#> 114 no no FALSE TRUE
#> 126 no no FALSE TRUE
#> 144 no no FALSE TRUE
#> 158 no no FALSE TRUE
#> 161 no no TRUE FALSE
#> 162 no no FALSE TRUE
#> 170 no no FALSE TRUE
#> 181 no no TRUE FALSE
#> 184 no no FALSE TRUE
#> 190 no no FALSE TRUE
#> 192 no no FALSE TRUE
#> 207 no no TRUE FALSE
#> 208 no no FALSE TRUE
#> 211 no no TRUE FALSE
#> 214 no no FALSE TRUE
#> 216 no no FALSE TRUE
#> 222 no no FALSE TRUE
#> 224 no no FALSE TRUE
#> 225 no no TRUE FALSE
#> 238 no no FALSE TRUE
#> 256 no no FALSE TRUE
#> 257 no no TRUE FALSE
#> 269 no no TRUE FALSE
#> 277 no no TRUE FALSE
#> 278 no no FALSE TRUE
#> 281 no no TRUE FALSE
#> 288 no no FALSE TRUE
#> 290 no no FALSE TRUE
#> 296 no no FALSE TRUE
#> 316 no no FALSE TRUE
#> 319 no no TRUE FALSE
#> 329 no no TRUE FALSE
#> 331 no no TRUE FALSE
#> 342 no no FALSE TRUE
#> 348 no no FALSE TRUE
#> 350 no no FALSE TRUE
#> 351 no no TRUE FALSE
#> 354 no no FALSE TRUE
#> 358 no no FALSE TRUE
#> 360 no no FALSE TRUE
#> 368 no no FALSE TRUE
#> 370 no no FALSE TRUE
#> 376 no no FALSE TRUE
#> 384 no no FALSE TRUE
#> 392 no no FALSE TRUE
#> 398 no no FALSE TRUE
#> 399 no no TRUE FALSE
#> 401 no no TRUE FALSE
#> 408 no no FALSE TRUE
#> 417 no no TRUE FALSE
#> 418 no no FALSE TRUE
#> 431 no no TRUE FALSE
#>
#> $yes.no
#> driver suburban case control
#> 2 yes no FALSE TRUE
#> 5 yes no TRUE FALSE
#> 9 yes no TRUE FALSE
#> 12 yes no FALSE TRUE
#> 15 yes no TRUE FALSE
#> 18 yes no FALSE TRUE
#> 22 yes no FALSE TRUE
#> 23 yes no TRUE FALSE
#> 31 yes no TRUE FALSE
#> 32 yes no FALSE TRUE
#> 33 yes no TRUE FALSE
#> 43 yes no TRUE FALSE
#> 44 yes no FALSE TRUE
#> 47 yes no TRUE FALSE
#> 52 yes no FALSE TRUE
#> 57 yes no TRUE FALSE
#> 59 yes no TRUE FALSE
#> 61 yes no TRUE FALSE
#> 63 yes no TRUE FALSE
#> 68 yes no FALSE TRUE
#> 70 yes no FALSE TRUE
#> 73 yes no TRUE FALSE
#> 74 yes no FALSE TRUE
#> 79 yes no TRUE FALSE
#> 82 yes no FALSE TRUE
#> 87 yes no TRUE FALSE
#> 93 yes no TRUE FALSE
#> 94 yes no FALSE TRUE
#> 95 yes no TRUE FALSE
#> 97 yes no TRUE FALSE
#> 98 yes no FALSE TRUE
#> 111 yes no TRUE FALSE
#> 119 yes no TRUE FALSE
#> 120 yes no FALSE TRUE
#> 123 yes no TRUE FALSE
#> 130 yes no FALSE TRUE
#> 131 yes no TRUE FALSE
#> 136 yes no FALSE TRUE
#> 142 yes no FALSE TRUE
#> 146 yes no FALSE TRUE
#> 147 yes no TRUE FALSE
#> 152 yes no FALSE TRUE
#> 153 yes no TRUE FALSE
#> 155 yes no TRUE FALSE
#> 160 yes no FALSE TRUE
#> 165 yes no TRUE FALSE
#> 171 yes no TRUE FALSE
#> 172 yes no FALSE TRUE
#> 173 yes no TRUE FALSE
#> 174 yes no FALSE TRUE
#> 176 yes no FALSE TRUE
#> 178 yes no FALSE TRUE
#> 182 yes no FALSE TRUE
#> 185 yes no TRUE FALSE
#> 191 yes no TRUE FALSE
#> 194 yes no FALSE TRUE
#> 199 yes no TRUE FALSE
#> 201 yes no TRUE FALSE
#> 202 yes no FALSE TRUE
#> 203 yes no TRUE FALSE
#> 204 yes no FALSE TRUE
#> 212 yes no FALSE TRUE
#> 213 yes no TRUE FALSE
#> 215 yes no TRUE FALSE
#> 220 yes no FALSE TRUE
#> 221 yes no TRUE FALSE
#> 226 yes no FALSE TRUE
#> 235 yes no TRUE FALSE
#> 236 yes no FALSE TRUE
#> 242 yes no FALSE TRUE
#> 244 yes no FALSE TRUE
#> 247 yes no TRUE FALSE
#> 250 yes no FALSE TRUE
#> 252 yes no FALSE TRUE
#> 254 yes no FALSE TRUE
#> 258 yes no FALSE TRUE
#> 261 yes no TRUE FALSE
#> 262 yes no FALSE TRUE
#> 264 yes no FALSE TRUE
#> 265 yes no TRUE FALSE
#> 266 yes no FALSE TRUE
#> 270 yes no FALSE TRUE
#> 271 yes no TRUE FALSE
#> 272 yes no FALSE TRUE
#> 275 yes no TRUE FALSE
#> 276 yes no FALSE TRUE
#> 282 yes no FALSE TRUE
#> 289 yes no TRUE FALSE
#> 291 yes no TRUE FALSE
#> 293 yes no TRUE FALSE
#> 294 yes no FALSE TRUE
#> 297 yes no TRUE FALSE
#> 300 yes no FALSE TRUE
#> 301 yes no TRUE FALSE
#> 302 yes no FALSE TRUE
#> 305 yes no TRUE FALSE
#> 306 yes no FALSE TRUE
#> 311 yes no TRUE FALSE
#> 312 yes no FALSE TRUE
#> 317 yes no TRUE FALSE
#> 323 yes no TRUE FALSE
#> 326 yes no FALSE TRUE
#> 332 yes no FALSE TRUE
#> 335 yes no TRUE FALSE
#> 337 yes no TRUE FALSE
#> 341 yes no TRUE FALSE
#> 344 yes no FALSE TRUE
#> 346 yes no FALSE TRUE
#> 347 yes no TRUE FALSE
#> 352 yes no FALSE TRUE
#> 353 yes no TRUE FALSE
#> 357 yes no TRUE FALSE
#> 359 yes no TRUE FALSE
#> 363 yes no TRUE FALSE
#> 365 yes no TRUE FALSE
#> 374 yes no FALSE TRUE
#> 382 yes no FALSE TRUE
#> 386 yes no FALSE TRUE
#> 394 yes no FALSE TRUE
#> 396 yes no FALSE TRUE
#> 407 yes no TRUE FALSE
#> 411 yes no TRUE FALSE
#> 412 yes no FALSE TRUE
#> 420 yes no FALSE TRUE
#> 421 yes no TRUE FALSE
#> 425 yes no TRUE FALSE
#> 434 yes no FALSE TRUE
#>
#> $no.yes
#> driver suburban case control
#> 19 no yes TRUE FALSE
#> 20 no yes FALSE TRUE
#> 89 no yes TRUE FALSE
#> 125 no yes TRUE FALSE
#> 168 no yes FALSE TRUE
#> 188 no yes FALSE TRUE
#> 196 no yes FALSE TRUE
#> 230 no yes FALSE TRUE
#> 241 no yes TRUE FALSE
#> 248 no yes FALSE TRUE
#> 285 no yes TRUE FALSE
#> 415 no yes TRUE FALSE
#> 416 no yes FALSE TRUE
#>
#> $yes.yes
#> driver suburban case control
#> 1 yes yes TRUE FALSE
#> 3 yes yes TRUE FALSE
#> 4 yes yes FALSE TRUE
#> 6 yes yes FALSE TRUE
#> 10 yes yes FALSE TRUE
#> 11 yes yes TRUE FALSE
#> 13 yes yes TRUE FALSE
#> 17 yes yes TRUE FALSE
#> 21 yes yes TRUE FALSE
#> 24 yes yes FALSE TRUE
#> 25 yes yes TRUE FALSE
#> 26 yes yes FALSE TRUE
#> 27 yes yes TRUE FALSE
#> 28 yes yes FALSE TRUE
#> 29 yes yes TRUE FALSE
#> 30 yes yes FALSE TRUE
#> 34 yes yes FALSE TRUE
#> 35 yes yes TRUE FALSE
#> 36 yes yes FALSE TRUE
#> 37 yes yes TRUE FALSE
#> 38 yes yes FALSE TRUE
#> 39 yes yes TRUE FALSE
#> 41 yes yes TRUE FALSE
#> 46 yes yes FALSE TRUE
#> 48 yes yes FALSE TRUE
#> 49 yes yes TRUE FALSE
#> 50 yes yes FALSE TRUE
#> 53 yes yes TRUE FALSE
#> 54 yes yes FALSE TRUE
#> 55 yes yes TRUE FALSE
#> 56 yes yes FALSE TRUE
#> 58 yes yes FALSE TRUE
#> 60 yes yes FALSE TRUE
#> 62 yes yes FALSE TRUE
#> 64 yes yes FALSE TRUE
#> 65 yes yes TRUE FALSE
#> 66 yes yes FALSE TRUE
#> 69 yes yes TRUE FALSE
#> 71 yes yes TRUE FALSE
#> 72 yes yes FALSE TRUE
#> 75 yes yes TRUE FALSE
#> 76 yes yes FALSE TRUE
#> 77 yes yes TRUE FALSE
#> 78 yes yes FALSE TRUE
#> 80 yes yes FALSE TRUE
#> 81 yes yes TRUE FALSE
#> 83 yes yes TRUE FALSE
#> 84 yes yes FALSE TRUE
#> 85 yes yes TRUE FALSE
#> 92 yes yes FALSE TRUE
#> 101 yes yes TRUE FALSE
#> 102 yes yes FALSE TRUE
#> 103 yes yes TRUE FALSE
#> 104 yes yes FALSE TRUE
#> 105 yes yes TRUE FALSE
#> 106 yes yes FALSE TRUE
#> 112 yes yes FALSE TRUE
#> 115 yes yes TRUE FALSE
#> 116 yes yes FALSE TRUE
#> 117 yes yes TRUE FALSE
#> 118 yes yes FALSE TRUE
#> 121 yes yes TRUE FALSE
#> 122 yes yes FALSE TRUE
#> 124 yes yes FALSE TRUE
#> 127 yes yes TRUE FALSE
#> 128 yes yes FALSE TRUE
#> 129 yes yes TRUE FALSE
#> 132 yes yes FALSE TRUE
#> 133 yes yes TRUE FALSE
#> 134 yes yes FALSE TRUE
#> 135 yes yes TRUE FALSE
#> 137 yes yes TRUE FALSE
#> 138 yes yes FALSE TRUE
#> 139 yes yes TRUE FALSE
#> 140 yes yes FALSE TRUE
#> 141 yes yes TRUE FALSE
#> 143 yes yes TRUE FALSE
#> 145 yes yes TRUE FALSE
#> 148 yes yes FALSE TRUE
#> 149 yes yes TRUE FALSE
#> 150 yes yes FALSE TRUE
#> 151 yes yes TRUE FALSE
#> 154 yes yes FALSE TRUE
#> 156 yes yes FALSE TRUE
#> 157 yes yes TRUE FALSE
#> 159 yes yes TRUE FALSE
#> 163 yes yes TRUE FALSE
#> 164 yes yes FALSE TRUE
#> 166 yes yes FALSE TRUE
#> 167 yes yes TRUE FALSE
#> 169 yes yes TRUE FALSE
#> 175 yes yes TRUE FALSE
#> 177 yes yes TRUE FALSE
#> 179 yes yes TRUE FALSE
#> 180 yes yes FALSE TRUE
#> 183 yes yes TRUE FALSE
#> 186 yes yes FALSE TRUE
#> 187 yes yes TRUE FALSE
#> 189 yes yes TRUE FALSE
#> 193 yes yes TRUE FALSE
#> 195 yes yes TRUE FALSE
#> 197 yes yes TRUE FALSE
#> 198 yes yes FALSE TRUE
#> 200 yes yes FALSE TRUE
#> 205 yes yes TRUE FALSE
#> 206 yes yes FALSE TRUE
#> 209 yes yes TRUE FALSE
#> 210 yes yes FALSE TRUE
#> 217 yes yes TRUE FALSE
#> 218 yes yes FALSE TRUE
#> 219 yes yes TRUE FALSE
#> 223 yes yes TRUE FALSE
#> 227 yes yes TRUE FALSE
#> 228 yes yes FALSE TRUE
#> 229 yes yes TRUE FALSE
#> 231 yes yes TRUE FALSE
#> 232 yes yes FALSE TRUE
#> 233 yes yes TRUE FALSE
#> 234 yes yes FALSE TRUE
#> 237 yes yes TRUE FALSE
#> 239 yes yes TRUE FALSE
#> 240 yes yes FALSE TRUE
#> 243 yes yes TRUE FALSE
#> 245 yes yes TRUE FALSE
#> 246 yes yes FALSE TRUE
#> 249 yes yes TRUE FALSE
#> 251 yes yes TRUE FALSE
#> 253 yes yes TRUE FALSE
#> 255 yes yes TRUE FALSE
#> 259 yes yes TRUE FALSE
#> 260 yes yes FALSE TRUE
#> 263 yes yes TRUE FALSE
#> 267 yes yes TRUE FALSE
#> 268 yes yes FALSE TRUE
#> 273 yes yes TRUE FALSE
#> 274 yes yes FALSE TRUE
#> 279 yes yes TRUE FALSE
#> 280 yes yes FALSE TRUE
#> 283 yes yes TRUE FALSE
#> 284 yes yes FALSE TRUE
#> 286 yes yes FALSE TRUE
#> 287 yes yes TRUE FALSE
#> 292 yes yes FALSE TRUE
#> 295 yes yes TRUE FALSE
#> 298 yes yes FALSE TRUE
#> 299 yes yes TRUE FALSE
#> 303 yes yes TRUE FALSE
#> 304 yes yes FALSE TRUE
#> 307 yes yes TRUE FALSE
#> 308 yes yes FALSE TRUE
#> 309 yes yes TRUE FALSE
#> 310 yes yes FALSE TRUE
#> 313 yes yes TRUE FALSE
#> 314 yes yes FALSE TRUE
#> 315 yes yes TRUE FALSE
#> 318 yes yes FALSE TRUE
#> 320 yes yes FALSE TRUE
#> 321 yes yes TRUE FALSE
#> 322 yes yes FALSE TRUE
#> 324 yes yes FALSE TRUE
#> 325 yes yes TRUE FALSE
#> 327 yes yes TRUE FALSE
#> 328 yes yes FALSE TRUE
#> 330 yes yes FALSE TRUE
#> 333 yes yes TRUE FALSE
#> 334 yes yes FALSE TRUE
#> 336 yes yes FALSE TRUE
#> 338 yes yes FALSE TRUE
#> 339 yes yes TRUE FALSE
#> 340 yes yes FALSE TRUE
#> 343 yes yes TRUE FALSE
#> 345 yes yes TRUE FALSE
#> 349 yes yes TRUE FALSE
#> 355 yes yes TRUE FALSE
#> 356 yes yes FALSE TRUE
#> 361 yes yes TRUE FALSE
#> 362 yes yes FALSE TRUE
#> 364 yes yes FALSE TRUE
#> 366 yes yes FALSE TRUE
#> 367 yes yes TRUE FALSE
#> 369 yes yes TRUE FALSE
#> 371 yes yes TRUE FALSE
#> 372 yes yes FALSE TRUE
#> 373 yes yes TRUE FALSE
#> 375 yes yes TRUE FALSE
#> 377 yes yes TRUE FALSE
#> 378 yes yes FALSE TRUE
#> 379 yes yes TRUE FALSE
#> 380 yes yes FALSE TRUE
#> 381 yes yes TRUE FALSE
#> 383 yes yes TRUE FALSE
#> 385 yes yes TRUE FALSE
#> 387 yes yes TRUE FALSE
#> 388 yes yes FALSE TRUE
#> 389 yes yes TRUE FALSE
#> 390 yes yes FALSE TRUE
#> 391 yes yes TRUE FALSE
#> 393 yes yes TRUE FALSE
#> 395 yes yes TRUE FALSE
#> 397 yes yes TRUE FALSE
#> 400 yes yes FALSE TRUE
#> 402 yes yes FALSE TRUE
#> 403 yes yes TRUE FALSE
#> 404 yes yes FALSE TRUE
#> 405 yes yes TRUE FALSE
#> 406 yes yes FALSE TRUE
#> 409 yes yes TRUE FALSE
#> 410 yes yes FALSE TRUE
#> 413 yes yes TRUE FALSE
#> 414 yes yes FALSE TRUE
#> 419 yes yes TRUE FALSE
#> 422 yes yes FALSE TRUE
#> 423 yes yes TRUE FALSE
#> 424 yes yes FALSE TRUE
#> 426 yes yes FALSE TRUE
#> 427 yes yes TRUE FALSE
#> 428 yes yes FALSE TRUE
#> 429 yes yes TRUE FALSE
#> 430 yes yes FALSE TRUE
#> 432 yes yes FALSE TRUE
#> 433 yes yes TRUE FALSE使用 split() 將資料 dta 依據其中的 driver 和 suburban 變數的四種組合分組。
*先將 driver 和 suburban 變數的不同組合製作成 list 再放入 split()。
lapply(g_ds, summary)
#> $no.no
#> driver suburban case control
#> no :73 no :73 Mode :logical Mode :logical
#> yes: 0 yes: 0 FALSE:47 FALSE:26
#> TRUE :26 TRUE :47
#>
#> $yes.no
#> driver suburban case control
#> no : 0 no :127 Mode :logical Mode :logical
#> yes:127 yes: 0 FALSE:63 FALSE:64
#> TRUE :64 TRUE :63
#>
#> $no.yes
#> driver suburban case control
#> no :13 no : 0 Mode :logical Mode :logical
#> yes: 0 yes:13 FALSE:7 FALSE:6
#> TRUE :6 TRUE :7
#>
#> $yes.yes
#> driver suburban case control
#> no : 0 no : 0 Mode :logical Mode :logical
#> yes:221 yes:221 FALSE:100 FALSE:121
#> TRUE :121 TRUE :100使用 knitr::kable 來建立表格。
text_tbl <- data.frame(
driver = c("no", "no", "yes", "yes"),
suburban = c("no", "yes", "no", "yes"),
case = c(26, 6, 64, 121),
control = c(47, 7, 63, 100),
total = c(73, 13, 127, 221)
)
kable(text_tbl) %>%
kable_styling(bootstrap_options = "striped", full_width = F)| driver | suburban | case | control | total |
|---|---|---|---|---|
| no | no | 26 | 47 | 73 |
| no | yes | 6 | 7 | 13 |
| yes | no | 64 | 63 | 127 |
| yes | yes | 121 | 100 | 221 |
先建立表格內容之資料框,再使用 kable() 語法,搭配適合的呈現風格,詳細內容參考 knitr::kable 及 kableExtra 介紹 ( Create Awesome HTML Table with knitr::kable and kableExtra)