3

私はテーブルを持っています、開始は以下です:

                       SM_H1455     SM_H1456  SM_H1457   SM_H1461     SM_H1462     SM_H1463 
ENSG00000001617.7         0            0          0           0          0           0                              
ENSG00000001626.9         0            0          0           0          0           0                                                            
ENSG00000002587.5         10           0          6           2          0           2                                               
ENSG00000002726.15        8            14         0           2          16          2                                                                
ENSG00000002745.8         6            2          2           0          0           4                                 

>= 80% の列の値が 0 である行を削除したいので、ここに 6 つの列があり、行の 5 つ以上の列に 0 がある場合、その行を削除する必要があります。

私は現在、このコードを持っています:

data = data[!rowSums(data == 0), ]

ただし、このコードは、80% のしきい値保持を考慮せずに、行が 0 である限りすべての行を削除します。

4

2 に答える 2

2

あなたは近かった:

data <- data[rowSums(data != 0)/ncol(data) > 0.2, ]
于 2013-07-31T13:46:05.417 に答える