重塑矩阵 - 一列中的多列

mar*_*rie 1 r matrix reshape

我有一个看起来像这样的矩阵:

SNP     G1      G2      G3
marker1 TT      CC      TT
marker2 AA      AA      AA
marker3 TT      TT      TT 
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像这样:

SNP     
>marker1    TT  G1
>marker2    AA  G1
>marker3    TT  G1
>marker1    CC  G2
>marker2    AA  G2
>marker3    TT  G2
>marker1    TT  G3
>marker2    AA  G3
>marker3    TT  G3
Run Code Online (Sandbox Code Playgroud)

我用这个:

        bsp2<- read.table("C:/R/bsp2.csv", header=TRUE) 

       reshape(as.data.frame(bsp2), direction="long", varying = list(colnames(bsp2)
       [2:6]), v.names="G", idvar="SNP")
Run Code Online (Sandbox Code Playgroud)

但我收到错误消息"未定义列选择".谁能告诉我我做错了什么?

jor*_*ran 5

这将是使用更容易meltreshape2:

dat <- read.table(text = "SNP     G1      G2      G3
marker1 TT      CC      TT
marker2 AA      AA      AA
marker3 TT      TT      TT",header = T,sep = "")

require(reshape2)
melt(dat,id.var = "SNP")

      SNP variable value
1 marker1       G1    TT
2 marker2       G1    AA
3 marker3       G1    TT
4 marker1       G2    CC
5 marker2       G2    AA
6 marker3       G2    TT
7 marker1       G3    TT
8 marker2       G3    AA
9 marker3       G3    TT
Run Code Online (Sandbox Code Playgroud)