Chciałbym usunąć niektóre wiersze z mojej ramki danych. Myślę, że przy użyciu subset
będzie to najłatwiejszy sposób na zrobienie tego.Jak usunąć wiersze z ramki danych na podstawie funkcji podzestawu?
Użyłem poniżej kod, aby usunąć niektóre wiersze przed:
data_selected <- subset(tbl_data, Name.x != "XXX" & Name.y != "YYY")
pytanie brzmi jak usunąć wiersze z mojego stołu, które mają ten sam ciąg znaków w dwóch komórek (tym samym wierszu).
myślę że mtcars
może być stosowany jako przykład:
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
gear
i carb
kolumny mogą być użyte. Jak widać, dwa pierwsze wiersze powinny zostać usunięte z tych danych, ponieważ obie mają tę samą wartość 4
w tych dwóch kolumnach. Proszę wziąć na konto, że w moich danych nie mam wartości liczbowych, ale ciąg znaków.
nie 'podzbiór (mtcars, bieg! = carb) 'praca – akrun
odpowiedź @akrun jest tym, co chcesz. Zachowaj ostrożność w przypadku wartości nieliczbowych, ponieważ możesz mieć problemy z porównywaniem kolumn współczynników. Spróbuj użyć: podzbiór (dt, x! = Y) na dt = data.frame (x = c ("A", "B", "C"), y = c ("A", "A", "B")), a następnie na dt = data.frame (x = c ("A", "B", "C"), y = c ("A", "A", "B"), stringiAsFactors = F) – AntoniosK