Możesz także pracować z tak zwanym wektorem boolowskim, czyli logical
:
row_to_keep = c(TRUE, FALSE, TRUE, FALSE, TRUE, FALSE, TRUE)
myData = myData[row_to_keep,]
Zauważ, że !
operator działa jako NIE, tzn . !TRUE == FALSE
:
myData = myData[!row_to_keep,]
To wydaje się nieco kłopotliwe w porównaniu z odpowiedzią @ mrwab (+1 btw :)), ale wektor logiczny można wygenerować w locie, np. Gdy wartość kolumny przekracza pewną wartość:
myData = myData[myData$A > 4,]
myData = myData[!myData$A > 4,] # equal to myData[myData$A <= 4,]
Możesz przekształcić wektor boolowski w wektor indeksów:
row_to_keep = which(myData$A > 4)
Wreszcie, bardzo fajną sztuczką jest to, że możesz użyć tego rodzaju podzestawu nie tylko do ekstrakcji, ale także do przypisania:
myData$A[myData$A > 4,] <- NA
gdzie kolumna A
jest przypisana NA
(nie liczba), gdzie A
przekracza 4.