Here is a way to do it using functions from base R.
#Make some data
DF <- data.frame(Subject = paste0("P", 1:10), stringsAsFactors = FALSE)
DataMat <- matrix(sample(0:1, size = 100, replace = TRUE), nrow = 10)
colnames(DataMat) <- paste0("Peptide", 1:10)
DF <- cbind(DF, as.data.frame(DataMat))
DF
#> Subject Peptide1 Peptide2 Peptide3 Peptide4 Peptide5 Peptide6 Peptide7
#> 1 P1 1 0 0 1 1 1 0
#> 2 P2 1 0 0 0 1 1 0
#> 3 P3 0 1 1 0 1 1 0
#> 4 P4 1 0 0 1 0 0 0
#> 5 P5 1 1 0 1 0 0 1
#> 6 P6 1 1 1 1 1 1 1
#> 7 P7 1 0 1 0 1 0 0
#> 8 P8 0 0 1 1 1 1 0
#> 9 P9 0 0 0 0 1 0 1
#> 10 P10 0 1 0 0 0 0 1
#> Peptide8 Peptide9 Peptide10
#> 1 1 0 1
#> 2 1 1 1
#> 3 0 1 1
#> 4 1 1 1
#> 5 0 1 1
#> 6 1 1 1
#> 7 0 0 0
#> 8 1 1 1
#> 9 1 0 0
#> 10 1 1 1
#COunt the zeros in each row
CountZeros <- function(x) sum(x == 0)
Zeros <- apply(X = DF[, 2:11], 1, CountZeros)
Zeros
#> [1] 4 4 4 5 4 0 7 3 7 5
#Filter the rows with fewer than 5 zeros
DF_filtered <- DF[Zeros < 5, ]
Created on 2020-05-07 by the reprex package (v0.3.0)