Для первого вы можете использовать ftable()
:
with(dat, ftable(gender, age, misc3))
misc3 FALSE TRUE
gender age
female <18 5 8
18+ 5 7
male <18 5 8
18+ 6 6
Для второго вы можете связать две таблицы:
with(dat, cbind(table(misc3, age), table(misc3, gender)))
<18 18+ female male
FALSE 10 11 10 11
TRUE 16 13 15 14
Data:
set.seed(33)
dat <- data.frame(gender = sample(c("male", "female"), 50, replace = TRUE),
age = sample(c("<18", "18+"), 50, replace = TRUE),
misc3 = sample(c(TRUE, FALSE), 50, replace = TRUE))