你好,我有两个df,比如
liste<-c("seq2","seq3")
df1
COL1 COL2
seq1 A
seq2 B
seq3 C
seq4 D
seq5 E
如果liste
中存在COL1
值,我想在新的COL3
中添加ok
并得到:
COL1 COL2 COL3
seq1 A NA
seq2 B OK
seq3 C OK
seq4 D NA
seq5 E NA
到目前为止,我尝试了一个循环,但它需要很多时间:
df$COL3<-NA
nb<-1
for (row in 1:nrow(df)) {
if(df[row, "COL1"] %in% liste){
df$COL3[nb]<-"OK"
}
nb<-nb+1
}
尝试%in%
添加COL3
within(df, COL3 <- c(NA,"OK")[COL1 %in% liste + 1])
它给出
COL1 COL2 COL3
1 seq1 A <NA>
2 seq2 B OK
3 seq3 C OK
4 seq4 D <NA>
5 seq5 E <NA>