У меня есть образец набора данных:
id <- 1:100
gender <- sample(c('M','F'), 100, replace=TRUE)
age <- sample(18:22, 100, replace=TRUE)
ethnicity <- sample(c('W','B','H','A','O'), 100, replace = TRUE)
grade <- sample(LETTERS[1:4], 100, replace=TRUE)
df <- cbind(id,gender,age,ethnicity,grade) %>% as.data.frame()
Мой вывод, который я пытаюсь достичь, таков:
+-------------+-------+----+----+----+----+
| Column Name | Value | A | B | C | D |
+-------------+-------+----+----+----+----+
| Gender | F | 15 | 11 | 17 | 10 |
| Gender | M | 9 | 17 | 14 | 7 |
| Age | 18 | 4 | 6 | 5 | 4 |
| Age | 19 | 3 | 6 | 4 | 3 |
| Age | 20 | 5 | 6 | 7 | 3 |
| Age | 21 | 7 | 7 | 5 | 4 |
| Age | 22 | 5 | 3 | 10 | 3 |
| Ethnicity | A | 1 | 9 | 9 | 6 |
| Ethnicity | B | 7 | 8 | 5 | 2 |
| Ethnicity | H | 4 | 4 | 5 | 2 |
| Ethnicity | O | 6 | 4 | 5 | 4 |
| Ethnicity | W | 6 | 3 | 7 | 3 |
+-------------+-------+----+----+----+----+
Так что я не пытаясь создать строку, в которой говорится, объединяет три категориальные переменные (например: «Испанцы c Женщины в возрасте 22 лет получили 2 А, 0 В, 2 C и т.д. c ...» Я просто хочу это с разбивкой по классам по полу, возрасту и этнической принадлежности, но все они в одном столбце.
Какой лучший способ выполнить sh это?