例如,我想列出一个应急表。
a = c(1, 3, 4)
b = c(2, 3, 5)
a_b = data.frame(a, b)
table(a_b)我得到了
b
a 2 3 5
1 1 0 0
3 0 1 0
4 0 0 1但我想要的是
b
a 1 2 3 4 5
1 0 1 0 0 0
2 0 0 0 0 0
3 0 0 1 0 0
4 0 0 0 0 1
5 0 0 0 0 0这张桌子怎么弄?
谢谢
发布于 2022-10-11 17:21:57
我们可以使用从两个列指定为factor元素的levels来创建unique
lvls <- sort(unique(unlist(a_b)))
table(lapply(a_b, factor, levels = lvls))-output
b
a 1 2 3 4 5
1 0 1 0 0 0
2 0 0 0 0 0
3 0 0 1 0 0
4 0 0 0 0 1
5 0 0 0 0 0https://stackoverflow.com/questions/74031862
复制相似问题