我有一张桌子,开始如下:
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), ]
但是此代码删除所有行,只要它们有一个 0,而不考虑 80% 的阈值保持。