Как создать фрейм данных со всеми порядковыми переменными в виде столбцов и с частотой определенного события

#r #dplyr #plyr #frequency #sapply

#r #dplyr #plyr #частота #sapply

Вопрос:

У меня есть порядковый фрейм данных, в котором есть ответы в формате опроса. Я хочу преобразовать каждый фактор в возможный столбец, чтобы получить их по частотам определенного события.

 I have tried lapply, dplyr to get frequencies but failed

as.data.frame(apply(mtfinal, 2, table))
  

и

 mtfinalf<-mtfinal %>%
group_by(q28) %>%
summarise(freq=n())
  

Ожидаемые результаты в виде data.frame

Таблица частот с учетом факторов q28

 Expected Results in the form of data.frame
q28  sex1  sex2  race1  race2 race3 race4 race5 race6 race7 age1 age2   
2     0                                                         
3     0                                                         
4     23                                                            
5     21





    Actual Results
    $age

      1   2   3   4   5   6   7 
      6   2 184 520 507 393 170 

    $sex

       1    2 
    1239  543 

    $grade

      1   2   3   4 
    561 519 425 277 

    $race7

       1    2    3    4    5    6 
     179   21   27  140   17 1307 
       7 
      91 

    $q8

      1   2   3   4   5 
    127 259 356 501 539 

    $q9

      1   2   3   4   5 
    993 224 279  86 200 

$q28

       2    3    4    5 
    1034  533   94  121
  

Комментарии:

1. Вы проверяли xtabs

2. Нет, сэр, не могли бы вы уточнить или предоставить какие-либо ссылки для этого, с уважением

3. Пожалуйста, поделитесь образцами данных с dput

4. drive.google.com/open?id=1eyJf96Wgty1QI3dY4cxWzxKQN1_iptpo

Ответ №1:

Это даст вам подсчет количества уникальных комбинаций. То, что вы просите, невозможно, поскольку между уровнями пола, расы и возраста будут совпадения.

 mtfinalf<-mtfinal %>%
 group_by(q28,age,race,sex) %>%
 tally()