0
我有大集将一些变数:适用于多列了一个说法
set.seed (14)
pool = sample (c("AA","AB", "BB"), 100, replace = T)
mydf <- data.frame (M1= pool[1:10], M2= pool[11:20],
M3= pool[21:30], M4= pool[31:40], M5= pool[41:50],
M6= pool[51:60], M7= pool[61:70], M8 = pool[71:80],
M9 = pool[81:90], M10 = pool[91:100])
需要安装包“hapassoc”,如果以前安装的。
install.packages( “hapassoc”)
> library(hapassoc)
> example1.haplos <- pre.hapassoc(mydf, numSNPs = 3, allelic= F)
Haplotypes will be based on the following SNPs (genotypic format):
M8, M9, M10
Remaining variables are:
M1, M2, M3, M4, M5, M6, M7
它正在最后3个变量在基团。但1要通过组打破数据成小块,应用此功能 -
M1, M2, M3 group 1
M4, M5 group 2
M6, M7, M8 group 3
M9, M10 group 4
因此numSNPs将通过以下向量表示:
nsp <- c(3, 2, 3, 2)
我要保留$ haploMat每个组
example1.haplos$haploMat
haplo1 haplo2
1 hBBA hBAB
3 hAAB hABB
4 hABA hABA
6 hAAA hBBA
7 hAAA hAAA
8 hBBA hBBB
9 hABB hBBB
10 hABA hBAB
12 hAAA hBBB
13 hAAB hBBA
14 hABA hABA
15 hAAB hBAB
最终输出有八列group1.haplo1,goup1.haplo2,group2.haplo1,group2.haplo2,group3.haplo1,group4.haplo1,group4.haplo2。
我该如何做到这一点?
非常感谢您的回答,我愿意接受这个答案可是我没有得到什么,我需要在最后一行:haplos < - dcast(haplos,VAR2 〜L1 + Var1,value.var ='haplotype'),我也尝试过value_var =“haplotype” - 但确实发生了错误 – jon 2012-02-07 15:32:00
@John我编辑过包含完整的代码,适合我。这是与hapassoc_1.2.4和reshape2_1.2.1。如果您仍然收到错误,您可以将它添加为评论吗? – jbaums 2012-02-07 22:15:52
谢谢,我在旧的R版本中使用了reshape2_1.2.1和hapassoc_1.2-4,但使用较新版本的R是作品,谢谢...原因未知 – jon 2012-02-09 01:31:02