[英]Change value in one column if a value in another is in a list [R]
Hello I have a df such as:您好,我有一个 df,例如:
COL1 COL2
A 1
B 2
C 3
D 4
E 5
F 6
List<-c("A","C")
and if a COL1
value is in List
, then add "OK" into the COL2
如果
COL1
值在List
中,则将“OK”添加到COL2
I should then get:然后我应该得到:
COL1 COL2
A OK
B 2
C OK
D 4
E 5
F 6
Here are the data这是数据
structure(list(COL1 = structure(1:6, .Label = c("A", "B", "C",
"D", "E", "F"), class = "factor"), COL2 = 1:6), class = "data.frame", row.names = c(NA,
-6L))
You can use %in%
+ replace
like below您可以使用
%in%
+ replace
如下
transform(
df,
COL2 = replace(COL2, COL1 %in% List, "OK")
)
which gives这使
COL1 COL2
1 A OK
2 B 2
3 C OK
4 D 4
5 E 5
6 F 6
A dplyr
option一个
dplyr
选项
> df %>%
+ mutate_at("COL2", ~ replace(., COL1 %in% List, "OK"))
COL1 COL2
1 A OK
2 B 2
3 C OK
4 D 4
5 E 5
6 F 6
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.