如何解决有条件地删除 R 中的行
数据框:
A ; B
x 1
x 7
y 2
y 3
z 9
z 1
我想删除 A=x 和 A=z 的所有行,因为 x 和 z 在 B 列中的值为 1。因此,数据框必须如下所示:
A ; B
y 2
y 3
谢谢,
解决方法
你可以试试subset
> subset(df,! A %in% c("x","z"))
A B
3 y 0
4 y 0
数据
> dput(df)
structure(list(A = c("x","x","y","z","z"),B = c(1L,0L,1L)),class = "data.frame",row.names = c(NA,-6L))
,
my.data.frame <- subset(data,A != "x" | A != "z")
顺便说一句,How to combine multiple conditions to subset a data-frame using "OR"? 的副本
,data.table
方法
library( data.table )
DT <- fread("A B
x 1
x 7
y 2
y 3
z 9
z 1")
DT[ copy(DT)[,temp := sum(B == 1),by = A ]$temp == 0,]
# A B
# 1: y 2
# 2: y 3
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。