0

コントロール (R247、R235、R241) に関してマトリックスの値を正規化しようとしています。

coldataは:

        Condition  Tank
R235      Control    T6
R236  LowExposure    T6
R239 HighExposure    T6
R241      Control    T8
R242  LowExposure    T8
R245 HighExposure    T8
R247      Control T14_3
R248  LowExposure T14_3
R250 HighExposure T14_3

と私の行列mydata:

                       R235      R236      R239      R241      R242      R245     R247      R248      R250
ENSDARG00000033160 11.91873 10.899929 10.831388 12.092478 11.564555 10.908011 11.67680 11.168115 10.414632
ENSDARG00000013522 12.39036 11.692673 11.439107 12.440952 11.841307 11.118888 12.13594 11.634806 11.336330
ENSDARG00000103295 10.54697 10.004169  8.753556 10.659075  9.980232  8.511240 11.11711 10.690518  9.240825
ENSDARG00000056765  9.18106  8.488917  7.431641  9.440119  8.830816  7.901337 10.39879  9.899546  8.142807
ENSDARG00000087303 11.07447 10.765197 11.682291 11.010172 10.380666 11.487207 11.05384 10.526109 11.962465
ENSDARG00000018478 11.51562 11.000702 10.382845 11.597848 11.218944 10.185381 11.61043 11.214280 10.614338

次の方法でコントロール サンプルを抽出します。

x <- which(coldata$Condition %in% "Control")
control <- row.names(coldata[x,])

zスコア変換と同様に、平均とsdを使用したいのですが、コントロールグループからのみ、(x - mean[control]) / sd[control]のようなデータセットを次のように変換します。

function(x){
(x - rowMeans[,control])/apply(matrix[,control],1,sd)
}

そして、apply()これを次のように実行するために使用しますmydataapply(mydata, 1, function(x))しかし、適用を介して使用できる関数としてこれを適切に記述する方法がわかりません。どんな助けでも大歓迎です。どうも!

4

2 に答える 2