写一个条件均值参数

时间:2014-03-14 01:04:02

标签: r conditional mean

以下是我正在处理的示例数据框架:

       Age   Exon.1    Exon.2   Exon.3    Exon.4 Tissue
1   8 pcw 1.069621  2.090989 2.815579  2.599460    HIP
2   9 pcw 0.359670  1.327652 0.997034  1.128186    HIP
3  12 pcw 1.170716  7.368116 4.855342  4.868139    HIP
4  12 pcw 0.618367  0.780580 1.564149  2.119555    HIP
5  12 pcw 0.592584  3.233361 1.750408  4.784493    HIP
6  13 pcw 1.634750  3.852918 5.822762  4.215661    HIP
7  13 pcw 1.076103  3.653933 4.616696  4.288468    HIP
8  13 pcw 0.530033  1.572620 1.643339  2.447955    HIP
9  16 pcw 0.607179  6.393372 4.284723  6.054567    HIP
10 16 pcw 1.649528  8.162135 6.258901  5.672448    HIP
11 17 pcw 3.857213  6.297120 2.644501  6.823737    HIP
12 19 pcw 2.025933  2.471025 3.151600  5.400733    HIP
13 21 pcw 3.666728 12.037541 8.605424 11.427137    HIP
14 24 pcw 0.569007  3.611914 2.728669  7.173590    HIP
15 37 pcw 0.153815  0.000000 0.622567  0.606804    HIP
16  4 mos 2.585179  1.980350 3.781297  4.898531    HIP
17  4 mos 0.760953  0.339324 1.501044  2.491687    HIP
18  1 yrs 2.003685  7.804700 8.027769  7.122507    HIP
19  2 yrs 0.000000  0.616036 0.000000  0.050892    HIP
20  3 yrs 0.302567  0.000000 0.000000  0.402933    HIP
21  8 yrs 0.765591  2.332778 1.736967  4.598780    HIP
22  8 yrs 1.157266  3.497623 2.591768  3.543247    HIP
23 11 yrs 0.337816  0.000000 0.000000  3.256239    HIP
24 13 yrs 0.082116  0.000000 0.000000  1.421612    HIP
25 18 yrs 0.243391  0.000000 0.000000  0.601639    HIP
26 19 yrs 0.716598  1.412251 2.421302  4.201108    HIP
27 21 yrs 1.742922  4.678306 3.216452  3.701010    HIP
28 23 yrs 0.158256  0.760269 0.220072  2.115750    HIP
29 30 yrs 1.303604  0.488246 2.493215  3.816740    HIP
30 36 yrs 0.367384  2.611151 2.322208  3.423121    HIP
31 37 yrs 0.643085  3.441538 3.193851  4.546699    HIP
32 40 yrs 0.145881  0.000000 0.000000  1.622436    HIP

在R中,我想编写一个参数来计算Exon.1中所有行的均值,但前提是该行包含以下年龄:" 4 mos"," 1年& #34;," 2岁"," 3岁"。

我尝试通过一系列试验参数对Exon.1的值进行子集化。

birth.infant <- c("4 mons", "1 yrs", "2 yrs", "3 yrs")
mean(data.frame$Exon.1 | birth.infant) # error
mean(data.frame$Exon.1 | if(intersect(data.frame$Age, birth.infant) == TRUE))
if(intersect(data.frame$Age, birth.infant)==TRUE) mean(data.frame$Exon.1)

如果这些插图不清楚,我的目标是使用birth.infant作为计算平均值的某些感兴趣的Exon.1值。

我如何为此任务建立条件均值参数?

2 个答案:

答案 0 :(得分:0)

您是否尝试过:mean(Data$Exon.1[which(Data$Age %in% birth.infant)])?这应该可以解决你的问题。

答案 1 :(得分:0)

正如Jealie所说,

mean(Data$Exon.1[Data$Age %in% birth.infant])

除去哪个。除了减慢你的代码之外,它没有用处。