如果R中的另一个列中未包含该值,则删除该值

Car*_*rlo 3 r

我的初始数据:

From <- c(1,2,3,4,5,6,7,8)
To <- c(NA,1,2,13,2,NA,6,10)
Data <- data.frame(From,To)
Run Code Online (Sandbox Code Playgroud)

如果行导致不存在的“发件人”,我想将值从“收件人”更改为“不适用”。最终的数据最终应该看起来像这样。

From <- c(1,2,3,4,5,6,7,8)
To <- c(NA,1,2,NA,2,NA,6,NA)
Data <- data.frame(From,To)
Run Code Online (Sandbox Code Playgroud)

flo*_*del 5

这里有几种方法

Data$To[!Data$To %in% Data$From] <- NA
Data$To <- ifelse(Data$To %in% Data$From, Data$To, NA)
Data <- within(Data, To[!To %in% From] <- NA)
Data <- transform(Data, To = ifelse(To %in% From, To, NA))
Run Code Online (Sandbox Code Playgroud)