使用R有条件地删除Dataframe行

时间:2011-11-04 05:14:50

标签: r

  

可能重复:
  Deleting specific rows from a data frame

enter image description here

使用R,我如何将以下逻辑写入数据帧: 如果列A = B且列E = 0,则删除行

提前致谢!

3 个答案:

答案 0 :(得分:241)

逻辑索引:

d<-d[!(d$A=="B" & d$E==0),]

答案 1 :(得分:75)

子集是您最安全,最简单的答案。

subset(dataframe, A==B & E!=0)

使用mtcars的真实数据示例

subset(mtcars, cyl==6 & am!=0)

答案 2 :(得分:3)

使用which函数:

A <- c('a','a','b','b','b')
B <- c(1,0,1,1,0)
d <- data.frame(A, B)

r <- with(d, which(B==0, arr.ind=TRUE))
newd <- d[-r, ]