Anda juga dapat bekerja dengan vektor boolean, alias logical
:
row_to_keep = c(TRUE, FALSE, TRUE, FALSE, TRUE, FALSE, TRUE)
myData = myData[row_to_keep,]
Perhatikan bahwa !
operator bertindak sebagai TIDAK, yaitu !TRUE == FALSE
:
myData = myData[!row_to_keep,]
Ini tampaknya sedikit rumit dibandingkan dengan jawaban @ mrwab (+1 btw :)), tetapi vektor logis dapat dihasilkan dengan cepat, misalnya di mana nilai kolom melebihi nilai tertentu:
myData = myData[myData$A > 4,]
myData = myData[!myData$A > 4,] # equal to myData[myData$A <= 4,]
Anda dapat mengubah vektor boolean menjadi vektor indeks:
row_to_keep = which(myData$A > 4)
Akhirnya, trik yang sangat rapi adalah Anda dapat menggunakan jenis pengesahan seperti ini tidak hanya untuk ekstraksi, tetapi juga untuk tugas:
myData$A[myData$A > 4,] <- NA
di mana kolom A
ditugaskan NA
(bukan angka) di mana A
melebihi 4.