有沒有辦法計算數據框中一行中所有值的 Z 分數?

美南

我有一個數據框,其中包含一個基因在 1677 條件下的表達水平。我正在尋找一個新的數據框,它具有每個條件的 Z 分數。這是我到目前為止的代碼:

for (cell_no in 1:ncol(NANOG_data)) {
  z_score[cell_no] <- (NANOG_data[2, cell_no] - rowMeans(NANOG_data)) / rowSds(as.matrix(NANOG_data))}

這就是數據框的樣子。

當我運行此代碼時,出現此錯誤:

錯誤:找不到對象“z_score”。

有沒有辦法使用 for 循環更輕鬆地填充新數據框,或者是否有可以在原始數據框上運行的矢量化函數來計算每個值的 Z 分數?

奧托·卡西

正如@GuedesBF 評論的那樣,發布數據截圖是不好的做法,你應該避免這種情況(參考https://xkcd.com/2116/)。

我會嘗試用一個虛擬數據集來幫助你:

#let's first generate a matrix
set.seed(999)
my_dummy_data <- matrix(rnorm(length(letters)), nrow=1, dimnames=list(1,letters))

>my_dummy_data 
           a        b        c         d          e          f         g
1 -0.2817402 -1.31256 0.795184 0.2700705 -0.2773064 -0.5660237 -1.878658
          h          i         j        k         l         m         n
1 -1.266791 -0.9677497 -1.121009 1.325464 0.1339774 0.9387494 0.1725381
          o         p          q         r         s         t         u
1 0.9576504 -1.362686 0.06833513 0.1006576 0.9013448 -2.074357 -1.228563
          v          w         x         y         z
1 0.6430443 -0.3597629 0.2940356 -1.125268 0.6422657

據我了解,這與您的數據結構相同:列名是基因(例如“AAACCCTG ...”),數值是“表達式”。(不是遺傳學家,如果我弄錯了術語,請道歉:))。

現在,我假設您要生成一個新向量,通過減去均值並除以標準誤差,將表達式值轉換為 z 分數。這可以通過以下方式完成:

my_z_scores <-( my_dummy_data-mean(my_dummy_data) ) / sd(my_dummy_data)

超越您的實際問題,在進行任何進一步分析之前,您可能希望將數據轉換為柱狀形式:

my_better_dummy_data <- data.frame(gene=colnames(my_dummy_data), expression=as.vector(my_dummy_data) )

在柱狀形式中,z 分數可以計算為

my_better_dummy_data$z_score <- (my_better_dummy_data$expression - mean(my_better_dummy_data$expression) / sd(my_better_dummy_data$expression)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有沒有辦法將每個結果添加到數據框的一行中?

有沒有辦法用只出現在一行的數據來識別同一日期內的所有行?

有沒有辦法在python中計算每週數據?

有沒有辦法只在 R 的數據框中保留重複的行?

Spark on Cassandra:有沒有辦法按分區鍵刪除數據?

SQL:如果沒有,有沒有辦法計算表中值的數量?

有沒有辦法根據行/列為數據框繪製熱圖?

有沒有辦法在 R 中的數據間隙之間對列中的值進行分組?

有沒有辦法通過對 SAS 中另一個變量的數據進行分組來創建新變量?

有沒有辦法用第二個數據框中的一列填充一個數據框中的一列?

有沒有辦法檢查數據框是否為空,如果是,則添加 NA 行?

有沒有辦法編輯數據框中的列表

有沒有辦法在數據框中取消嵌套 json´column?

有沒有辦法根據函數中的名稱更改變量的值?

有沒有辦法列出所有nodejs函數執行時間?

有沒有辦法在postgreSQL中定義json數據的數據類型

數據框中帶有分組依據的計算列

有沒有辦法在 Dart / Flutter (REST) 中根據對象值顯示快照數據?

有沒有辦法使用地圖系列設置數據框的變量標籤?

有沒有辦法從熊貓數據框中刪除自動截斷?

有沒有辦法按國家和性別合併兩個數據框?

有沒有辦法反轉 R 數據框中的累積總和列?

有沒有辦法使用用戶定義的列表重新排序數據框的列?

有沒有辦法在 R 中生成數據,其中觀察值的總和等於特定值?

數據框按列值的計數分組

有沒有辦法在 Infra 元數據表中獲得當前運行的 Informatica 工作流的估計完成時間

沒有數據庫java的分頁實現

express js:有沒有辦法將url的所有其餘部分映射為一個參數?

有沒有辦法刪除除數組中最後一個之外的所有重複鍵?