【发布时间】:2019-09-23 18:37:27
【问题描述】:
我在 R 中有一个数据框,我想删除符合某些条件的某些行。我该怎么做?
我尝试过使用dplyr 和ifelse,但我的代码没有给出正确答案
check8 <- distinct(df5,prod,.keep_all = TRUE)
不工作!给出整个数据集
输入是:
check1 <- data.frame(ID = c(1,1,2,2,2,3,4),
prod = c("R","T","R","T",NA,"T","R"),
bad = c(0,0,0,1,0,1,0))
# ID prod bad
# 1 1 R 0
# 2 1 T 0
# 3 2 R 0
# 4 2 T 1
# 5 2 <NA> 0
# 6 3 T 1
# 7 4 R 0
预期输出:
data.frame(ID = c(1,2,3,4),
prod = c("R","R","T","R"),
bad = c(0,0,1,0))
# ID prod bad
# 1 1 R 0
# 2 2 R 0
# 3 3 T 1
# 4 4 R 0
我希望得到这样的输出,对于同时存在 prod 或 NA 的 ID,只保留带有 prod R 的行,但如果只有一个 prod 则保留该行,尽管有 prod 。
【问题讨论】:
-
这应该是输出 - data.frame(ID = c(1,2,3,4), prod = c("R","R","T","R" ), 坏 = c(0,0,1,0))
-
嗨 Shaily,请在答案(可能已格式化)中包含预期的输出,并尝试更清楚地解释条件是什么,我很难理解您想要实现的目标。跨度>
标签: r if-statement dplyr