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