2017-10-11 3 views
0

私は200マウスIDのグループに各マウスの遺伝子発現値のリストを持っていますが、マウスごとに同じ遺伝子が複数存在します。私は遺伝子をマウス1回につき1回だけ表示させたいと考えており、以前の値の合計と等しい値を持っています。例えば値を集計する際に、因子ごとにIDを連結する

このデータ:

mouse_number  value gene 
1   64 2.00000 Lypla1 
2   65 1.00000 Lypla1 
3   64 7.00000 Lypla1 
4   65 3.00000 Lypla1 
7   64 4.00000 Pck1 
8   65 2.00000 Pck1 
9   64 1.00000 Pck1 
10   65 5.00000 Pck1 

は次のようになります。

mouse_number  value gene 
1   64 9.00000 Lypla1 
2   65 4.00000 Lypla1 
3   64 5.00000 Pck1 
4   65 7.00000 Pck1 

支援してください、ありがとうございました!

答えて

0

あなたはaggregateを使用することができます。

df <- data.frame(
    mouse_number = c(64, 65, 64, 65, 64, 65, 64, 65), 
    value = c(2.0, 1.0, 7.0, 3.0, 4.0, 2.0, 1.0, 5.0), 
    gene = c("Lypla1", "Lypla1", "Lypla1", "Lypla1", "Pck1", "Pck1", "Pck1", "Pck1")); 
df.collapsed <- aggregate(value ~ mouse_number + gene, FUN = sum, data = df); 

df.collapsed; 
# mouse_number gene value 
#1   64 Lypla1  9 
#2   65 Lypla1  4 
#3   64 Pck1  5 
#4   65 Pck1  7 
関連する問題