How to remove rows with any zero value
There are a few different ways of doing this. I prefer using apply
, since it's easily extendable:
##Generate some data
dd = data.frame(a = 1:4, b= 1:0, c=0:3)
##Go through each row and determine if a value is zero
row_sub = apply(dd, 1, function(row) all(row !=0 ))
##Subset as usual
dd[row_sub,]
I would do the following.
Set the zero to NA.
data[data==0] <- NA
data
Delete the rows associated with NA.
data2<-data[complete.cases(data),]
You can use filter from dplyr package.
Let's call your data frame df
library(dplyr)
df1 <- filter(df, Mac1 > 0, Mac2 > 0, Mac3 > 0, Mac4 > 0)
df1 will have only rows with entries above zero. Hope this helps.