我想根據另一個數據幀(PvalueData)中的p值的條件過濾掉我的數據框(MainData)中的行。所以,我想要的是:如果連續超過50%的柱子的p值大於0.05(PvalueData),那麼該特定行將從主數據框(MainDatA)中移除。如何根據另一個數據幀的值刪除數據幀中的行
可以說,這裏是數據我有:
MainData:
C1 C2 C3 C4 C5
Gene1 70 54 54 75 75
Gene2 23 18 16 54 15
Gene3 43 93 90 43 92
Gene4 32 50 23 13 45
Gene5 44 53 46 34 47
Gene6 42 34 53 85 43
Gene7 49 55 67 49 89
Gene8 25 45 49 34 35
Gene9 19 16 54 53 94
PvalueData:
C1 C2 C3 C4 C5
Gene1 0.04 0.01 0.01 0.01 0.01
Gene2 0.01 0.01 0.01 0.02 0.01
Gene3 0.01 0.07 0.09 0.01 0.06
Gene4 0.01 0.03 0.06 0.01 0.02
Gene5 0.04 0.01 0.07 0.08 0.01
Gene6 0.09 0.07 0.01 0.06 0.06
Gene7 0.10 0.07 0.01 0.01 0.06
Gene8 0.01 0.01 0.02 0.01 0.01
Gene9 0.09 0.01 0.07 0.08 0.06
所以我的結果文件應該是這樣:
結果:
C1 C2 C3 C4 C5
Gene1 70 54 54 75 75
Gene2 23 18 16 54 15
Gene4 32 50 23 13 45
Gene5 44 53 46 34 47
Gene8 25 45 49 34 35
我曾嘗試這樣的事:
check = if (PvalueData[!rowSums(PvalueData>thres) > ncol(PvalueData)*.5], MainData)
但真的不能工作了。
加上'dput'數據或數據。例如 – user5249203