【发布时间】:2017-04-15 09:37:32
【问题描述】:
我的数据格式如下:
name value1 rem
-------------------
| tom | 1 | 1
| tom | 3 | 0
| tom | 5 | 0
| bill | 7 | 0
| bill | 1 | 1
| bill | 3 | 0
| mark | 5 | 0
| mark | 9 | 0
| mark | 9 | 0
我要做的是删除“rem”中具有 1 的任何行以及与“rem”中具有 1 的行具有相同 ID 的任何行。所以在转换之后我想要它看起来像:
name value1 rem
-------------------
| mark | 5 | 0
| mark | 9 | 0
| mark | 9 | 0
我不知道如何在 R 中使用逻辑命令执行此操作。我的实际数据有更多的行和列,所以我不能只按位置删除它们,即只删除前 6 行。我知道如何删除具有特定值的任何行。我想不通的是如何根据两行中的值删除行,其中之一是有条件的。以下是一些制作上述数据框的 R 代码:
name <- c("tom", "tom", "tom", "bill", "bill","bill","mark","mark","mark")
value1 <- c(1,3,5,7,1,3,5,9,9)
rem <- c(1,0,0,0,1,0,0,0,0)
df <- data.frame(name, value1, rem)
【问题讨论】: