The most efficient way would be to use the na.strings read.csv() argument to encode all -1 values as NA , and then to read.csv() incomplete cases.
Step 1: set na.strings=-1 in read.csv() :
x <- read.csv(text=" clientx,clienty,screenx,screeny 481,855,481,847 481,784,481,847 481,784,481,847 -1,292,879,355", header=TRUE, na.strings=-1) x clientx clienty screenx screeny 1 481 855 481 847 2 481 784 481 847 3 481 784 481 847 4 NA 292 879 355
Step 2: Now use complete.cases or na.omit :
x[complete.cases(x), ] clientx clienty screenx screeny 1 481 855 481 847 2 481 784 481 847 3 481 784 481 847 na.omit(x) clientx clienty screenx screeny 1 481 855 481 847 2 481 784 481 847 3 481 784 481 847
source share