0
sampleName     realConc      exptname concentrate timepoints replicate    day  var
  name1    3.877049e-05           0hr        55mM          0        b1 011311   1
  name1    3.293085e-04           0hr        55mM          0        b1 011311   2
  name2    2.939995e-03 KClpulse-5min        55mM         20        b1 011411   1
  name2    1.212584e-02 KClpulse-5min        55mM         20        b1 011411   2

「ex」という名前のデータ フレームの例を次に示します。

列の値が重複している行の realConc 値を平均したい: exptname、concentrate、timepoints、replicate、および day。

次に、この新しい平均で 1 つの行を作成し、同じ sampleName

私は mean(ex[which(duplicated(paste(ex$exptname,ex$concentrate,ex$timepoints,ex$replicate,ex$day))),]$realConc) を考えてきました

これの問題は、それらが互いに異なっていても、これらの列で重複するすべての単一の値を平均化することです

各列内のすべての一意の値に対してこれを行う必要があります

次に、平均化された realConc 値と、平均化された行と同じ sampleName を持つ 1 つの行が必要です

4

1 に答える 1

2

私があなたのことを正しく理解していれば、あなたはただ使えるはずだと思いますaggregate()

data.frameあなたの名前が であると仮定しますex:

aggregate(realConc ~ ., mean, data = ex)
  sampleName      exptname concentrate timepoints replicate   day     realConc
1      name1           0hr        55mM          0        b1 11311 0.0001840395
2      name2 KClpulse-5min        55mM         20        b1 11411 0.0075329175
于 2012-08-18T05:26:53.117 に答える