【发布时间】:2018-10-11 18:02:49
【问题描述】:
我是 R 编程新手,并尝试在满足过滤条件后删除一组行中的某些行。
场景:对于每个 GROUP,如果 2 个 TYPE "B" 在一行中,则删除该 GROUP 的所有以下行。 “Include in DataSet”列显示输出应该是什么。
这是我的示例输入:
GROUP TYPE Include in DataSet?
--------------------------------------------
1 A yes
1 A yes
1 B yes
1 B yes
1 B no
2 A yes
2 B yes
2 B yes
2 A no
2 B no
2 B no
DF = structure(list(GROUP = c(1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L,
2L, 2L), TYPE = c("A", "A", "B", "B", "B", "A", "B", "B", "A",
"B", "B"), inc = c("yes", "yes", "yes", "yes", "no", "yes", "yes",
"yes", "no", "no", "no")), .Names = c("GROUP", "TYPE", "inc"), row.names = c(NA,
-11L), class = "data.frame")
预期输出:
GROUP TYPE Include in DataSet?
--------------------------------------------
1 A yes
1 A yes
1 B yes
1 B yes
2 A yes
2 B yes
2 B yes
我尝试编写了一些代码,但由于分组问题没有成功。
i=1
j=2
x <- allrows
for (i in x){
for(j in x){
if(i==j){
a$REMOVE=1
}
else{
a$REMOVE=2
}
}
}
【问题讨论】: