日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FDR计算

發布時間:2024/3/13 编程问答 66 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FDR计算 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

FDR計算

FDR的計算很簡單,我折騰了一上午主要是因為遇到了以下幾個問題。


問題:

  • FDR是什么?有什么用?怎么計算?
  • 我把幾個模型的P值都合并成一個表了,所以每次運算FDR時,我需挑選特定的對象。
  • 我有多個模型,所以我想著要如何構建循環。
  • FDR的數據類型和輸出結果都是vector,所以要如何把vector的結果寫回dataframe里

  • 解決:

    逐一摸索,再次鞏固R的基礎知識(PS:雷子要趕明天的組會匯報,所以我必須自食其力)。

  • 我的FDR理論學習筆記(微博)
  • 挑選特定的數值。因為FDR是多次重復測量中犯錯的概率(見第一條FDR的概念),所以測量的次數就會影響校正后的結果(廢話),所以一定要把每個model中的p單獨挑出來運算!
    又因為FDR的運算對象是向量,所以我只提取模型中的p值這一列,而不是整個數據框截出來。
  • p_value <- tdata$PCom[d:t]#p value has to be a vector# d和t分別是始末位置
  • 我一共有6個模型,每個模型147個代謝物。先在excel中按model排序,所以在1-882中,從1開始,每147個屬于同一個model。
  • FDR <- vector() d=1 #i=2 for (i in 1:6){t = 147*ip_value <- tdata$PCom[d:t]#p value has to be a vectorp_adjust <- p.adjust(p_value,method = "BH",n=length(p_value))FDR <- c(FDR, p_adjust)d = t+1 # d的位置很重要,必須放在循環中的最后一步。# 一定要挑幾個片段運行看,確保循環是對的。 }
  • 把結果寫回原來的數據框
  • timo <- data.frame() timo <- transform(out, FDR_Com=FDR) #out為原數據框,FDR_Com是其中我預先設好的一個空白列

    思考:

    寫代碼,數學邏輯還是很重要。
    嗯呢,總結完去吃飯了~
    PS:后天我生日 > <

    總結

    以上是生活随笔為你收集整理的FDR计算的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。