0

バツ

 primer  timepoints  foldInduction
  Acan         0      1.0000000
  Acan        20      0.6779533
  Acan        20      1.9734277
   Fos        40     21.3731640
   Fos        60      1.8517668
   Fos        40    118.2970756
  Acan         0      1.0000000
   Fos        60     17.5241529

私は2つのことをしたい1.平均と2.すべての時点でのすべてのプライマーのfoldInductionのstderrなので、名前(配列)がタイムポイントで配列自体が平均である最終的な配列が必要です。また、これを stderrs と組み込もうとしています。

したがって、プライマー「Acan」は次のような意味です

 0     20 
1.0   1.325

私はタップリーがこれでうまくいくかもしれないと考えました。だからこれは私がやってきたことです

       stderr <- function(x){sd(x,na.rm=TRUE)/sqrt(length(x))}
       means <- tapply(x$foldInductions,factor(as.numeric(x$timepoints)),mean,na.rm=T)
       stderrs <- tapply(x$foldInductions,factor(as.numeric(x$timepoints)),stderr)

また、特定の時点で平均化するフォールドインダクションの量が同じではないかもしれませんが、これは問題ではないと思います。

1 つのプライマー用にこのアレイを作成するのを手伝っていただければ、それは素晴らしいことです。

4

1 に答える 1

0

答えの猛攻撃が来ることを予見しています。これらの同じ方針に沿って何百もの異なる質問があり、多くのソリューションの相対的なタイミングとメリットを比較することがよくあります. そのような質問と回答の 1 つを次に示します。自分に合ったフレームワークを見つけて、それを使い続けることをお勧めします。

plyrと を使用したソリューションを次に示しsummarizeます。

まず、データを再作成します。

x <- read.table(text = "primer      exptname concentrate timepoints replicate    day   realConc foldInduction
  Acan           0hr        55mM          0        b1 011311 0.05875824     1.0000000
  Acan KClpulse-5min        55mM         20        b1 011311 0.03983534     0.6779533
  Acan KClpulse-5min        55mM         20        b1 011311 0.11595514     1.9734277
   Fos KClpulse-5min        55mM         40        b1 011311 0.11964684    21.3731640
   Fos KClpulse-5min        55mM         60        b1 011311 0.01036618     1.8517668
   Fos KClpulse-5min        55mM         40        b1 011311 0.66222632   118.2970756
  Acan           0hr        55mM          0        b2 011411 0.05681637     1.0000000
   Fos KClpulse-5min        55mM         60        b2 011411 0.23492697    17.5241529", header = TRUE)

次に、次のように魔法でグループ化しddplyます。

require(plyr)
ddply(x, .(primer, timepoints), summarize, 
      mean = mean(foldInduction, na.rm = TRUE), 
      sde = sqrt(var(foldInduction, na.rm = TRUE)/length(foldInduction))
      )

 primer timepoints     mean        sde
1   Acan          0  1.00000  0.0000000
2   Acan         20  1.32569  0.6477372
3    Fos         40 69.83512 48.4619558
4    Fos         60  9.68796  7.8361931

名前付きベクトルビットに関する最後のビットに100%従ったわけではありませんが、必要な答えを計算する方法が示され、そこからデータを適切な形式に変換できることを願っています.

于 2012-08-21T04:06:55.800 に答える