我有一张这样的表:
Menu name | Transcode
Menu 1 | a1
Menu 2 | a2
Menu 3 | a3
Menu 1 | a1
Menu 3 | a2
Menu 1 | a1
Menu 1 | a3
如何在R中实现此枢轴以计算列x(菜单名称)中的值频率数和与列x相关的列y(Trancode)的频率
答案 0 :(得分:1)
不是两列输出,最好将它放在三列中(以便于后处理)。我们使用table
获取频率计数,使用addmargins
向sum
增加每个" Menu_name"的计数,转换为' data.frame' 。如果需要,我们可以在第一列order
输出{' res'}。
res <- as.data.frame(addmargins(table(df1), 2))
res1 <- res[order(res[,1]),]
row.names(res1) <- NULL
res1[1:2] <- lapply(res1[1:2], as.character)
然后,使用rbind
创建&#34; Grand Sum&#34;行
rbind(res1, list("Menu", "Grand Sum", sum(res1$Freq)))
# Menu_name Transcode Freq
#1 Menu 1 a1 3
#2 Menu 1 a2 0
#3 Menu 1 a3 1
#4 Menu 1 Sum 4
#5 Menu 2 a1 0
#6 Menu 2 a2 1
#7 Menu 2 a3 0
#8 Menu 2 Sum 1
#9 Menu 3 a1 0
#10 Menu 3 a2 1
#11 Menu 3 a3 1
#12 Menu 3 Sum 2
#13 Menu Grand Sum 14
答案 1 :(得分:1)
draggable()