Как сгруппировать столбец и что другой столбец сгруппирован для создания таблицы сопряженности в R
Мне нужно сгруппировать столбец "Estrato" 1 и 2 в низкий, 3,4,5 в средний, 6 в высокий и другие, учитывая столбец "Callevive", формат столбца "Estrato" является фактором. создать таблицу сопряженности, как на картинке.
enter code here > head(datos17,25)
Estrato Callevive
1 2 Moderadamente Satisfecho
2 4 Moderadamente Satisfecho
3 3 Moderadamente Satisfecho
4 0 Moderadamente Satisfecho
5 3 Moderadamente Satisfecho
6 3 Moderadamente Satisfecho
7 3 Moderadamente Satisfecho
8 3 Moderadamente Satisfecho
9 3 Moderadamente Satisfecho
10 2 Moderadamente Satisfecho
11 3 Moderadamente Satisfecho
12 2 Moderadamente Satisfecho
13 2 Moderadamente Satisfecho
14 3 Moderadamente Satisfecho
15 2 Moderadamente Satisfecho
16 2 Muy Satisfecho
17 2 Un Poco Satisfecho
18 3 Moderadamente Satisfecho
19 2 Moderadamente Satisfecho
20 2 Moderadamente Satisfecho
21 2 Muy Satisfecho
22 2 Muy Satisfecho
23 2 Muy Satisfecho
24 2 Muy Satisfecho
25 5 Moderadamente Satisfecho
1 ответ
Вы имеете в виду что-то подобное?
library(tidyverse);
df %>%
mutate(group = cut(
Estrato,
breaks = c(-1, 2, 5, Inf),
labels = c("low", "medium", "high"))) %>%
group_by(group, Callevive) %>%
tally() %>%
spread(Callevive, n)
## A tibble: 2 x 4
## Groups: group [2]
# group `Moderadamente Satisfecho` `Muy Satisfecho` `Un Poco Satisfecho`
# <fct> <int> <int> <int>
#1 low 8 5 1
#2 medium 11 NA NA
Пояснение: мы складываем записи в Estrato
в low
(0,1,2
), medium
(3,4,5
), а также high
(>6
группы, затем используйте tally
а также spread
вывести таблицу сопряженности.
Пример данных
df <- read.table(text =
" Estrato Callevive
1 2 'Moderadamente Satisfecho'
2 4 'Moderadamente Satisfecho'
3 3 'Moderadamente Satisfecho'
4 0 'Moderadamente Satisfecho'
5 3 'Moderadamente Satisfecho'
6 3 'Moderadamente Satisfecho'
7 3 'Moderadamente Satisfecho'
8 3 'Moderadamente Satisfecho'
9 3 'Moderadamente Satisfecho'
10 2 'Moderadamente Satisfecho'
11 3 'Moderadamente Satisfecho'
12 2 'Moderadamente Satisfecho'
13 2 'Moderadamente Satisfecho'
14 3 'Moderadamente Satisfecho'
15 2 'Moderadamente Satisfecho'
16 2 'Muy Satisfecho'
17 2 'Un Poco Satisfecho'
18 3 'Moderadamente Satisfecho'
19 2 'Moderadamente Satisfecho'
20 2 'Moderadamente Satisfecho'
21 2 'Muy Satisfecho'
22 2 'Muy Satisfecho'
23 2 'Muy Satisfecho'
24 2 'Muy Satisfecho'
25 5 'Moderadamente Satisfecho'", row.names = 1)