R 将数据帧/矩阵转换为不同的有组织矩阵

R 将数据帧/矩阵转换为不同的有组织矩阵,r,matrix,parser-combinators,reshape2,phylogeny,R,Matrix,Parser Combinators,Reshape2,Phylogeny,我有一个和我上次一样的怀疑()。同样,我有如下结构的数据文件: OTU1 PIA0 1120 OTU2 PIA1 2 OTU2 PIA3 6 OTU2 PIA4 10 OTU2 PIA5 1078 OTU2 PIN1 24 OTU2 PIN2 45 OTU2 PIN3 261 OTU2 PIN4 102 OTU3 PIA0 16 OTU3 PIA1 59 OTU3

我有一个和我上次一样的怀疑()。同样,我有如下结构的数据文件:

OTU1    PIA0    1120
OTU2    PIA1    2
OTU2    PIA3    6
OTU2    PIA4    10
OTU2    PIA5    1078
OTU2    PIN1    24
OTU2    PIN2    45
OTU2    PIN3    261
OTU2    PIN4    102
OTU3    PIA0    16
OTU3    PIA1    59
OTU3    PIA2    27
OTU3    PIA3    180
OTU3    PIA4    200
OTU3    PIA5    251
OTU3    PIN0    36
OTU3    PIN1    61
OTU3    PIN2    156
OTU3    PIN3    590
OTU3    PIN4    277
OTU4    PIA0    401
OTU4    PIN0    2
PIA0    1120    OTU1
PIA0    16    OTU3
PIA0    401    OTU4
PIA1    2    OTU2
PIA1    59    OTU3
PIA2    27    OTU3
PIA3    6    OTU2
PIA3    180    OTU3
PIA4    10    OTU2
PIA4    200    OTU3
PIA5    1078    OTU2
PIA5    251    OTU3
PIN0    36    OTU3
PIN0    2    OTU4
PIN1    24    OTU2
PIN1    61    OTU3
PIN2    45    OTU2
PIN2    156    OTU3
PIN3    261    OTU2
PIN3    590    OTU3
PIN4    102    OTU2
PIN4    277    OTU3
但现在我想创建一个文件,将三列的计数合并起来,大致如下所示:

OTU1    PIA0    1120
OTU2    PIA1    2
OTU2    PIA3    6
OTU2    PIA4    10
OTU2    PIA5    1078
OTU2    PIN1    24
OTU2    PIN2    45
OTU2    PIN3    261
OTU2    PIN4    102
OTU3    PIA0    16
OTU3    PIA1    59
OTU3    PIA2    27
OTU3    PIA3    180
OTU3    PIA4    200
OTU3    PIA5    251
OTU3    PIN0    36
OTU3    PIN1    61
OTU3    PIN2    156
OTU3    PIN3    590
OTU3    PIN4    277
OTU4    PIA0    401
OTU4    PIN0    2
PIA0    1120    OTU1
PIA0    16    OTU3
PIA0    401    OTU4
PIA1    2    OTU2
PIA1    59    OTU3
PIA2    27    OTU3
PIA3    6    OTU2
PIA3    180    OTU3
PIA4    10    OTU2
PIA4    200    OTU3
PIA5    1078    OTU2
PIA5    251    OTU3
PIN0    36    OTU3
PIN0    2    OTU4
PIN1    24    OTU2
PIN1    61    OTU3
PIN2    45    OTU2
PIN2    156    OTU3
PIN3    261    OTU2
PIN3    590    OTU3
PIN4    102    OTU2
PIN4    277    OTU3
我的意思是,我需要做的是对数据进行新的排序,将第一列留给第二列的数据(现在看起来是有组织的),另外两列留给第三列和最后第一列的数据

R包“重塑2”是否有可能再次实现这一点?可能使用“dcast”或“acast”

目标是构建一个与示例中的第二个类似的矩阵,以便我可以使用这些数据运行


再次非常感谢

x您尝试了什么?你真的只是在问如何更改列顺序以及如何按给定列排序吗?想法是让它作为“示例”文件在PHYLOCOM中运行。我试图组织它,然后运行程序,所以我想我这样做的方式并不完全正确。
x <- read.table(textConnection("
OTU1    PIA0    1120
OTU2    PIA1    2
OTU2    PIA3    6
OTU2    PIA4    10
OTU2    PIA5    1078
OTU2    PIN1    24
OTU2    PIN2    45
OTU2    PIN3    261
OTU2    PIN4    102
OTU3    PIA0    16
OTU3    PIA1    59
OTU3    PIA2    27
OTU3    PIA3    180
OTU3    PIA4    200
OTU3    PIA5    251
OTU3    PIN0    36
OTU3    PIN1    61
OTU3    PIN2    156
OTU3    PIN3    590
OTU3    PIN4    277
OTU4    PIA0    401
OTU4    PIN0    2"))

y <- x[with(x, order(V2, V1)), c(2, 3, 1)]
head(y)
     V2   V3   V1
1  PIA0 1120 OTU1
10 PIA0   16 OTU3
21 PIA0  401 OTU4
2  PIA1    2 OTU2
11 PIA1   59 OTU3
12 PIA2   27 OTU3