我正在处理如下所示的数据集
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
非常感谢任何建议或指示。
答案 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()