[問題] 合併類別變數的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