r语言 - 如何创建将所有序号变量作为列并具有特定事件频率的数据框



我有一个有序的数据框,它有调查格式的答案。我想将每个因素转换为可能的列,以便通过特定事件的频率获取它们。

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())

数据帧形式的预期成果

关于 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

这将为您提供唯一组合的数量。你问的是不可能的,因为性别、种族和年龄之间会有重叠。

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

最新更新