我想从我的数据框中删除一些行。我认为使用subset
这将是最简单的方法。如何根据子集函数从数据框中删除行?
我用下面的代码之前删除一些行:
data_selected <- subset(tbl_data, Name.x != "XXX" & Name.y != "YYY")
的问题是如何从我的表,该表有两个单元相同的字符串(同一行)的行。
我认为mtcars
可以用来作为一个例子:
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
和carb
列都可以使用。正如你所看到的,应该从这个数据中删除两个第一行,因为在这两列中都有相同的值4
。请记住我的数据中我没有数字值,但字符串。
岂不'子集(mtcars,齿轮! =碳水化合物)'工作 – akrun
@akrun的答案是你想要的。处理非数字值时要小心,因为您可能在比较因子列时遇到问题。尝试在dt = data.frame(x = c(“A”,“B”,“C”)处使用:subset(dt,x!= y), y = c(“A”,“A” “B”))然后在dt = data.frame(x = c(“A”,“B”,“C”),y = c(“A”,“A”,“B”),stringsAsFactors = F) – AntoniosK