我有一个这样的数据框:
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
1 1 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0 0
3 2 2 2 2 2 2 2 2 2 2
4 2 2 2 2 2 2 2 2 2 2
5 0 0 0 0 0 0 0 0 0 0
我想在每列上依靠0s,1s和2s的数量。
我想在每列上使用unique
或table
,但问题是并非每列都有我想要计算的值。例如,第1列是唯一一个有1
的人。
我想我可以做一个for循环,但是我认为必须有一个更好的方法来做它?
答案 0 :(得分:3)
另一个选项是来自mtabulate
qdapTools
library(qdapTools)
t(mtabulate(df1))
# V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
#0 2 3 3 3 3 3 3 3 3 3
#1 1 0 0 0 0 0 0 0 0 0
#2 2 2 2 2 2 2 2 2 2 2
答案 1 :(得分:2)
您可以在table
数据
stack
table(stack(df))
ind values V1 V10 V2 V3 V4 V5 V6 V7 V8 V9 0 2 3 3 3 3 3 3 3 3 3 1 1 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2