[问题] 合并类别变量的count (table)

楼主: sinclairJ (KEEP MOVING FORWARD)   2015-04-23 04:17:05
各位先进好 又遇到问题了...自己摸了很久 尚未解决 于是上来请教大家
一开始的原始资料如下(实际资料有50万行)
先举个例子(物件aa)
X1 X2 X3
1 0 1
2 0 0
1 1 2
1 0 1
1 2 1
最后我想得到这个表格
序 0 1 2
X1 0 4 1
X2 3 1 1
X3 1 3 1
目前想到的方法是这样
z=apply(aa,2,table);z
> z
$X1
1 2
4 1
$X2
0 1 2
3 1 1
$X3
0 1 2
1 3 1
问题来了...
(1)我不知道该怎么把他们合并成我想得到的那种表格
(2)因为使用套件的关系(Package HardyWeinber中的function HWExactMat)
所以每列一定都要有三栏(0,1,2),若没有就补0
但有些X变量table出来却只有两类结果(如上的X1)
这样子要怎么把缺的那类补回去表格(如上例子,我要把X1中的0补回去)
0
注:X变量有3类结果:0,1,2
所以我实际资料转出的最后表格会长这样:
序 0 1 2
X1 0 4 1
X2 3 1 1
X3 1 3 1
.
.
.
X500000 24 0 55
作者: showfeb   2015-04-23 09:22:00
acast(melt(z),L1~Var1,value.var="value")先require(reshape2)
作者: celestialgod (天)   2015-04-23 10:21:00
dcast(gather(dat), value ~ key, length)library(tidyr); library(reshape2)经过apply会比较慢一点dat应该是你的aa推错,自己删掉,顺便测试一下删推蚊功能@@

Links booklink

Contact Us: admin [ a t ] ucptt.com