在第二列中具有两个不同值的重复ID

时间:2018-04-26 13:49:49

标签: r replace

我正在处理如下所示的数据集

Comparable<Integer>

我想替换ColA中的值

Integer

如果上述情况属实,则应将ColA替换为是。

最终数据集应如下所示

 id    ColA     ColB
 1     No       Red
 1     Yes      Red
 2     No       Blue
 3     No       Blue
 3     No       Blue
 4     No       Red
 4     Yes      Red

非常感谢任何建议或指示。

2 个答案:

答案 0 :(得分:1)

我们可以做到

library(dplyr)
df1 %>%
   group_by(id, ColB) %>%
   mutate(ColA = if("Yes" %in% ColA) "Yes" else "No")

答案 1 :(得分:1)

以下是PREV - E - NEXT GOROUTINE1 GOROUTINE2 READ - E.PREV returns element (E2) with `NEXT` -> E REMOVE(E) is called e.next = nil // avoid memory leaks E2.NEXT.NEXT access occurs now Nil!!! resulting in panic 的解决方案:

data.table

没有library("data.table") DT <- fread( " id ColA ColB 1 No Red 1 Yes Red 2 No Blue 3 No Blue 3 No Blue 4 No Red 4 Yes Red") DT[, ColA:=ifelse(uniqueN(ColB)==1 && uniqueN(ColA)==2, "Yes", ColA) , by=id][] # > DT[, ColA:=ifelse(uniqueN(ColB)==1 && uniqueN(ColA)==2, "Yes", ColA) , by=id][] # id ColA ColB # 1: 1 Yes Red # 2: 1 Yes Red # 3: 2 No Blue # 4: 3 No Blue # 5: 3 No Blue # 6: 4 Yes Red # 7: 4 Yes Red 的变体:

ifelse()