如何提取Col2与R中任何Col1匹配的每一行

问题描述 投票:-2回答:2

我有一个大数据集,4,000个观察值和两个变量。这两个变量是字符,特别是名称。我要删除col2(姓氏)不完全等于ANY col 1(名字)的字符的任何行。

Here is a look at what the dataset looks like

我尝试使用%in%,但它返回在1列上重复而不是跨列的行。

我已经看到了很多关于如何将一个或两个或几个特定的​​字符串与另一列匹配然后提取的建议。但是,在这种情况下,我不完全知道我要匹配的那些特定字符串。我希望找到一种方法让R为我找到那些交叉列匹配项。

这里是输入df的示例:

First  Last 

Joe    Weinberg
Hilton Alexander
Tom    Marshall
Fred   Hilton

我希望输出df看起来像这样:

First  Last

Hilton Alexander
Fred   Hilton

任何帮助将不胜感激

r dataset character extract matching
2个回答
0
投票
subset(df, First %in% Last | Last %in% First) # First Last #2 Hilton Alexander #4 Fred Hilton

0
投票
library(dplyr) names_to_drop <- df$First.Name df <- df %>% filter(!(Last.Name %in% names_to_drop))

0
投票

所以最后这就是我的建议...大声笑名字必须在第二个名字上,反之亦然

df %>% subset(Second.Name %in% df$First.Name | First.Name %in% df2$Second.Name)
© www.soinside.com 2019 - 2024. All rights reserved.