【发布时间】:2015-04-13 05:10:10
【问题描述】:
我有一个这样的数据框:
ID Exp1 Exp2 Value1
AAA 5 6 7
AAA 4 8 8
BBB 3 5 9
BBB 6 7 4
CCC 2 5 6
....
我想在每次重复 ID 后创建一个新行,并对以前的结果进行求和,如下所示:
ID Exp1 Exp2 Value1
AAA 5 6 7
AAA 4 8 8
AAA.1 9 14 15
BBB 3 5 9
BBB 6 7 4
BBB.1 9 12 13
CCC 2 5 6
...
我的问题是我无法编写代码在相同的 ID 之后插入新行。
> for (i in 1:nrow(Data)) {
> temp1 <- Data[Data$ID == Data$ID[i],]
但不知道如何继续... 有什么想法吗?
更新: 原始数据如何..
GeneNames Original ID2 Com. Ratio Cyt Nuc
YWHAB CL84Contig6 1433B_HUMAN -0.2 0.6 1063.3 671.3
YWHAB CL84Contig4 1433B_HUMAN -0.3 0.5 59.0 30.5
YWHAE CL1665Contig1 1433E_HUMAN -0.3 0.5 2784.6 1490.1
YWHAE CL1665Contig4 1433E_HUMAN 0.1 1.2 2.1 4.8
YWHAH dsrrswapns 1433F_HUMAN 0.0 0.0 0.0 0.0
YWHAG CL2762Contig2 1433G_HUMAN -0.3 0.4 39.5 17.7
YWHAG CL2762Contig3 1433G_HUMAN 0.0 0.0 0.0 0.0
我想怎么做...
GeneNames Original ID2 Com. Ratio Cyt Nuc
YWHAB CL84Contig6 1433B_HUMAN -0.2 0.6 1063.3 671.3
YWHAB CL84Contig4 1433B_HUMAN -0.3 0.5 59.0 30.5
YWHAB.1 CL84Contig6 1433B_HUMAN -0.2 0.6 1122.4 701.8
YWHAE CL1665Contig1 1433E_HUMAN -0.3 0.5 2784.6 1490.1
YWHAE CL1665Contig4 1433E_HUMAN 0.1 1.2 2.1 4.8
YWHAE.1 CL1665Contig1 1433E_HUMAN -0.3 0.5 2786.6 1494.9
我有一个 data.frame: 13044 obs。 94 个变量:这 94 个变量是 num 和 chr 列。 我想仅对来自同一 GeneNames 的 Cyt 和 Nuc 的值求和,并将它们写入 GeneName 命名为“GeneName.1”的新行。每个 GeneName 的其余列都不相同。我宁愿将它们留空或复制相同 GeneName 的第一列,如示例中所示..
【问题讨论】:
-
嗯,您可以将它们添加到最后,然后按 ID 排序以获得所需的结果。