以下是一些qPCR数据的简化数据框:
sample exprFile reaction_conc minusNC_1 minusNC_2 minusNC_3 minusNC_highest
1 A 140701_2014-07-03-15-49 59 56.67 NA NA 56.67
2 A 140701_2014-07-03-15-49 70 67.67 NA NA 67.67
3 NC_1 140701_2014-07-03-15-49 2 -0.33 NA NA -0.33
4 NC_1 140701_2014-07-03-15-49 3 0.67 NA NA 0.67
5 NC_1 140701_2014-07-03-15-49 2 -0.33 NA NA -0.33
6 A 140701_2_2014-07-01-19-07 200 192.00 196 NA 192.00
7 A 140701_2_2014-07-01-19-07 202 194.00 198 NA 194.00
8 B 140701_2_2014-07-01-19-07 300 292.00 296 NA 292.00
9 B 140701_2_2014-07-01-19-07 322 314.00 318 NA 314.00
10 B 140701_2_2014-07-01-19-07 333 325.00 329 NA 325.00
11 NC_1 140701_2_2014-07-01-19-07 8 0.00 4 NA 0.00
12 NC_1 140701_2_2014-07-01-19-07 8 0.00 4 NA 0.00
13 NC_2 140701_2_2014-07-01-19-07 4 -4.00 0 NA -4.00
14 D 140701_2014-07-02-20-53 44 NA 43 NA 43.00
15 NC_2 140701_2014-07-02-20-53 0 NA -1 NA -1.00
16 NC_2 140701_2014-07-02-20-53 2 NA 1 NA 1.00
17 NC_2 140701_2014-07-02-20-53 1 NA 0 NA 0.00
18 A 140708_2014-07-08-19-20 100 96.00 100 90 90.00
19 A 140708_2014-07-08-19-20 108 104.00 108 98 98.00
20 A 140708_2014-07-08-19-20 111 107.00 111 101 101.00
21 D 140708_2014-07-08-19-20 88 84.00 88 78 78.00
22 D 140708_2014-07-08-19-20 80 76.00 80 70 70.00
23 E 140708_2014-07-08-19-20 645 641.00 645 635 635.00
24 NC_3 140708_2014-07-08-19-20 8 4.00 8 -2 -2.00
25 NC_3 140708_2014-07-08-19-20 12 8.00 12 2 2.00
26 NC_1 140708_2014-07-08-19-20 4 0.00 4 -6 -6.00
27 NC_2 140708_2014-07-08-19-20 0 -4.00 0 -10 -10.00
每个exprFile都是一个实验,我想通过取控制值的平均值(reaction_conc)从实验中的每个样品中减去对照(标记为NC *的样品)。一些实验包含几种类型的控件。我想创建具有每种控件类型的减去值的新列。最后,我想创建一个列,确定哪个控件类型最高,并从值中减去它。
我可能会对你的描述感到困惑(对不起!),所以这是预期的输出:
{{1}}
答案 0 :(得分:0)
我不确定你的描述是什么意思。起初,您似乎想要从其他样本中减去所有NC1样本的平均值,但您的预期输出与此相反。 如果是这样的话,我会建议:
##calculate means for control samples:
mean1=mean(df$reaction_conc[grepl("NC1",df$sample)])
mean2=mean(df$reaction_conc[grepl("NC2",df$sample)])
mean3=mean(df$reaction_conc[grepl("NC3",df$sample)])
##subtracts them from other data:
df=mutate(df,
minusNC_1 = reaction_conc - mean1,
minusNC_2 = reaction_conc - mean2,
minusNC_3 = reaction_conc - mean3,
minusNC_highest = reaction_conc - max(c(mean1,mean2,mean3)))
答案 1 :(得分:0)
对于措辞不好的问题,我们深表歉意。在与我的实验室伙伴交谈之后,我最终得到了这个:
{{1}}