作者sinclairJ (Jun)
看板R_Language
標題[問題] Loop for rbind,table
時間Thu Apr 23 04:17:05 2015
各位先進好 又遇到問題了...自己摸了很久 尚未解決 於是上來請教大家
一開始的原始資料如下(實際資料有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
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.184.161.128
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1429733828.A.D4C.html
※ 編輯: sinclairJ (111.184.161.128), 04/23/2015 04:23:55
→ showfeb: acast(melt(z),L1~Var1,value.var="value") 04/23 09:22
→ showfeb: 先require(reshape2) 04/23 09:23
→ celestialgod: dcast(gather(dat), value ~ key, length) 04/23 10:21
→ celestialgod: library(tidyr); library(reshape2) 04/23 10:21
→ celestialgod: 經過apply會比較慢一點 04/23 10:22
→ celestialgod: dat應該是你的aa 04/23 10:26
(celestialgod 刪除 celestialgod 的推文: d)
(celestialgod 刪除 celestialgod 的推文: d)
→ celestialgod: 推錯,自己刪掉,順便測試一下刪推蚊功能@@ 04/23 15:08