我是一个新的R用户,我有以下问题:
我有两列数据。第一列包含标记,第二列包含基因型。每种基因型都有4个标记。因此,在第一列中,我有4次基因型1的名称和相应的4个标记,然后是基因型2和完全相同的4个标记,依此类推。但我希望标记在一列中,基因型在单独的列中,这样我就可以比较不同基因型的标记。我不知道我怎么能做到。
G1有4个标记,G2有相同的4个标记,等等:
-Marker Genotype
M1 G1
M2 G1
M3 G1
M4 G1
M1 G2
M2 G2
M3 G2
M4 G2
M1 G3
M2 G3
M3 G3
M4 G3我想把R写成这个:
Marker G1 G2 G3
M1 AA AA GG
M2 TT GG CC
M3 GG AA AA
M4 CC TT GG将每个基因型放在一列中,以便标记之间的比较非常容易。
有没有人对如何工作有一个聪明的想法?
非常提前谢谢你。玛丽
发布于 2012-08-30 08:08:32
你想要某种cast。例如
require(reshape2)
indata <- data.frame( Marker = rep(c("M1","M2","M3","M4"), 3),
Genotype = rep(c("G1","G2","G3"), each=4),
value = c("AA","TT","GG","CC","AA","GG","AA","TT","GG","CC","AA","GG") )
outdata <- dcast(indata, Marker ~ Genotype)会把你从
> indata
Marker Genotype value
1 M1 G1 AA
2 M2 G1 TT
3 M3 G1 GG
4 M4 G1 CC
5 M1 G2 AA
6 M2 G2 GG
7 M3 G2 AA
8 M4 G2 TT
9 M1 G3 GG
10 M2 G3 CC
11 M3 G3 AA
12 M4 G3 GG至
> outdata
Marker G1 G2 G3
1 M1 AA AA GG
2 M2 TT GG CC
3 M3 GG AA AA
4 M4 CC TT GGhttps://stackoverflow.com/questions/9853232
复制相似问题