как сгруппировать столбец и что другой столбец сгруппирован для создания таблицы сопряженности в R - PullRequest
0 голосов
/ 31 мая 2018

Мне нужно сгруппировать столбец «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

enter image description here

1 Ответ

0 голосов
/ 31 мая 2018

Вы имеете в виду что-то подобное?

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...