在R中,我如何为其他列的每个唯一组合创建一个长频率表

jvidinwx  于 2023-09-27  发布在  其他
关注(0)|答案(1)|浏览(112)

这是我的表的前几行。。
enter image description here
在R中,我如何创建一个长表,其中Col A和Col B显示所有可能的组合,Col C包含a或b(或c或d或任何可能的值),Col D显示Col A和B的每个组合的Col C值的频率。
使用上面的示例,结果应该如下所示(仅显示前几行)...
enter image description here
我尝试了melt()和table()的组合,但收效甚微。

p5fdfcr1

p5fdfcr11#

as.data.frame.table(xtabs(~ ColA + ColB + ColC, dat))
#   ColA ColB ColC Freq
# 1    1    1    a    2
# 2    2    1    a    0
# 3    1    2    a    1
# 4    2    2    a    0
# 5    1    1    b    1
# 6    2    1    b    2
# 7    1    2    b    1
# 8    2    2    b    1

数据

dat <- structure(list(ColA = c(1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L), ColB = c(1L, 1L, 1L, 2L, 2L, 1L, 1L, 2L), ColC = c("a", "a", "b", "b", "a", "b", "b", "b")), class = "data.frame", row.names = c(NA, -8L))

相关问题